- optisch
- Funk 434 / 868 Mhz
- MBus
- Puls
Nach ein wenig Suche bin ich bei Busware auf ein USB Stick gestoßen für den es auch schon eine Firmware für FHEM gibt.
Auf den FHEM Seiten findet man auch einige Seiten die sich mit dem Thema beschäftigen, jedoch ist die Suche nach Informationen die einem helfen immer etwas mühsam
- https://wiki.fhem.de/wiki/Selbstbau_CUL#Software
- https://wiki.fhem.de/wiki/CUL
- http://culfw.de/culfw.html
wichtig: Programmiertaste gedrückt halten und dann Stick einstecken.
Da bei mir 2 Meter vom Wasserzähler bereits ein Loxberry im Einsatz ist der die Stromzähler ausließt gehe ich nicht darauf ein, wie man den Loxberry aufsetzt ( Danke an die Entwickler! )
FHEM Plugin ist schnell installiert. Da die Übertragung AES verschlüsselt ist müssen die entsprechenden Bibliotheken nachinstalliert werden
Alle Info´s dazu habe ich in diesem Forumthread gefunden: https://forum.fhem.de/index.php/topi...html#msg737335
CUL an den Loxberry anstecken und neustarten. CUL definieren
defmod nanoCUL868MBUS CUL /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL02W8KI-if00-port0@38400 2012 attr nanoCUL868MBUS icon cul_cul attr nanoCUL868MBUS rfmode WMBus_T attr nanoCUL868MBUS room CULs
AES Key als Attribut eintragen 51728910e66d83f851728910e66d83f8
Kommunikation mit Loxone:
Auf https://ownsmarthome.de/2017/06/fhem...ch_will_Loxone gibt es eine sehr gute Anleitung wie die UDP Kommunikation mit Loxone klappt.
Zur Vereinfachung hier mal die Anpassung an den Wasserzähler:
############################################## # $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $ # # Save this file as 99_myUtils.pm, and create your own functions in the new # file. They are then available in every Perl expression. package main; use strict; use warnings; use POSIX; sub myUtils_Initialize($$) { my ($hash) = @_; } # Enter you functions below _this_ line. #UDP Befehle senden sub UDP_Msg($$$) { my ($dest,$port,$cmd) = @_; my $sock = IO::Socket::INET->new( Proto => 'udp', PeerPort => $port, PeerAddr => $dest ) or die "Could not create socket: $!\n"; $sock->send($cmd) or die "Send error: $!\n"; return "send $cmd"; } sub WaterToLoxone($) { my ($device) = @_; my $water=ReadingsVal("$device","2_value","-1"); my $fluss=ReadingsVal("$device","7_value","-1"); my $temp=ReadingsVal("$device","9_value","-1"); UDP_Msg("192.168.178.250" , "7600" , "$device: $water $fluss $temp"); } 1;
Reading anlegen:
define [COLOR=#FF0000]WMBUS_DME_56064082_112_7[/COLOR]_notify_1 notify [COLOR=#FF0000]WMBUS_DME_56064082_112_7[/COLOR]:2_value:..* {WaterToLoxone("$NAME")}
- In Loxone virtuellen UDP Eingang anlegen und Portnummer anpassen
- Virtuellen UDP Eingangsbefehl anlegen und Befehlskennung eingeben:
WMBUS_DME_56064082_112_7: \# \v (für $fluss = aktueller Durchfluß)
WMBUS_DME_56064082_112_7: \# \# \v (für $temp = Wassertemperatur)
Fertig - ich hoffe es hilft
Kommentar