FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: budda85 am 08 Dezember 2017, 23:01:10

Titel: Signalduino und FHEM2FHEM
Beitrag von: budda85 am 08 Dezember 2017, 23:01:10
Hallo zusammen,
hat einer evetuell schon mal den Signalduino per FHEM2FHEM betrieben?
Hintergurund ist, dass mein FHEM in einem Docker auf einem NAS läuft und dieses im Keller steht.
Oben im Haus habe ich einen Raspberry mit Fhem wo der Signalduino dran hängt.
Mit diesem FHEM kann ich meine intertechno Steckdosen schalten. Per FHEM2FHEM schaffe ich das aber nicht. Wenn ich Glück habe wird zumindest beim Haupt-FHEM per autocreate die Steckdose angelegt aber das klappt irgendwie auch nicht immer.

Gruß
Jan
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: rudolfkoenig am 08 Dezember 2017, 23:23:06
Fuer sowas empfehle ich (als FHEM2FHEM Autor) die Verwendung von socat und Konsorten, siehe https://wiki.fhem.de/wiki/CUL_ueber_Netz (https://wiki.fhem.de/wiki/CUL_ueber_Netz)
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: budda85 am 11 Dezember 2017, 22:49:52
Ich habe mit serial2net und jeelink leider nicht die beste Erfahrung gemacht   :(
Hatte es jetzt nochmal für den Siganlduino getestet und das Ergebnis war leider, dass ich FHEM nicht mehr erreichen konnte und auch ein Neustart es nicht mehr zum Leben erwecken wollte.

Gruß
Jan

P.S.: Ein hoch auf Backups!
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: connormcl am 11 Dezember 2017, 23:47:06
Zitat von: budda85 am 11 Dezember 2017, 22:49:52
Ich habe mit serial2net und jeelink leider nicht die beste Erfahrung gemacht   :(
Hatte es jetzt nochmal für den Siganlduino getestet und das Ergebnis war leider, dass ich FHEM nicht mehr erreichen konnte und auch ein Neustart es nicht mehr zum Leben erwecken wollte.

Gruß
Jan

P.S.: Ein hoch auf Backups!

Entweder falsch eingebunden oder irgendeine Firewall blockiert irgendwo...kannst ja mal die ser2net und die Einbindung in die fhem.cfg posten; wenn die richtig sind kann man sich dem Problem weiter schrittweise nähern. Meist liegt es an Geschwindigkeiten oder Init-Einstellungen.

Ich habe hier 2 JeeLink, diverse nanoCUL und RFXCOM alle über ser2net Remote ohne Probleme am laufen.
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: Sidey am 12 Dezember 2017, 18:16:38
Hi,

Ich habe fhem2fhem nicht im Einsatz.

Welche Daten übermittelt Fhem2Fhem denn zwischen den Systemen?

Sind das alle Events oder nur manche?

Grüße Sidey

Gesendet von meinem XT1650 mit Tapatalk

Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: rudolfkoenig am 12 Dezember 2017, 18:34:35
ZitatWelche Daten übermittelt Fhem2Fhem denn zwischen den Systemen?
Im RAW Modus alle Daten von einem physikalischen Geraet, die via Dispatch an logische Geraete geschickt werden. Diese Daten kriegt der Enanwender normalerweise nicht zu Gesicht. FHEM2FHEM Hakt sich direkt in die Dispatch Funktion rein, und ruft mit den Daten Dispatch auf dem anderen System auf.

Im LOG Modus muss man ein Regexp fuer die gewuenschten Events spezifizieren.
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: budda85 am 13 Dezember 2017, 10:41:30
Zitat von: connormcl am 11 Dezember 2017, 23:47:06
Entweder falsch eingebunden oder irgendeine Firewall blockiert irgendwo...kannst ja mal die ser2net und die Einbindung in die fhem.cfg posten; wenn die richtig sind kann man sich dem Problem weiter schrittweise nähern. Meist liegt es an Geschwindigkeiten oder Init-Einstellungen.

Ich habe hier 2 JeeLink, diverse nanoCUL und RFXCOM alle über ser2net Remote ohne Probleme am laufen.
Die Hilfe nehme ich gerne an

Also hier ist meine ser2net config

#Jeelink
6001:raw:0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03DA22-if00-port0:57600 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

#Sduino
6002:raw:0:/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0:57600 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

Wenn ich per telnet mit IP:PORT mich auf die jeweiligen Geräte verbinde, sehe ich auch das die beiden Teile was senden.

Jetzt habe ich ein Signalduino Gerät auf meinem "Haupt"-Fhem wie folgt eingerichtet:
Internals:
   Clients    :IT:CUL_TCM97001:OREGON:CUL_TX:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_WS_Maverick:SIGNALduino_un:
   DEF        192.168.0.23:6002
   DMSG       nothing
   DevState   disconnected
   DeviceName 192.168.0.23:6002
   NAME       Sduino
   NR         153
   PARTIAL   

   STATE      disconnected
   TIME       1513157660.83238
   TYPE       SIGNALduino
   initretry  0
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}
     11:SD_WS09 ^P9#[A-Fa-f0-9]+
     12:SD_WS   ^W\d+x{0,1}#.*
     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
     14:Dooya   ^P16#[A-Fa-f0-9]+
     15:SOMFY   ^YsA[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     1:IT       ^i......
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     7:Hideki   ^P12#75[A-F0-9]+
     X:SIGNALduino_un ^[uP]\d+#.*
   QUEUE:
   READINGS:
     2017-10-20 12:15:25   ping            OK
     2017-12-13 10:34:29   state           disconnected
     2017-10-20 12:12:25   version         V 3.3.0 SIGNALduino - compiled at Sep 18 2016 00:28:28
   mcIdList:
     10
     11
     12
     18
     43
     47
   msIdList:
     0
     1
     13
     14
     15
     17
     2
     22
     23
     25
     3
     32
     33
     35
     38
     4
     41
     45
     6
     7
   muIdList:
     16
     20
     21
     24
     26
     27
     28
     29
     30
     31
     34
     36
     37
     39
     40
     42
     44
     46
     48
     49
     5
     50
     51
     8
     9
Attributes:
   dummy      1
   flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]


jetzt flackert der STATE immmer zwischen connected und disconncted

definiere ich den jeelink mit 192.168.0.23:6001 ist Fhem nicht mehr erreichbar und ich muss es einmal neu starten.

Eine Frage nebenbei:
Kann man bei ser2net irgendwie /dev/serial/by-path anstelle von by-id nutzen? by-path hat leider doppelpunkte drin und das passt ihm nicht.
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: connormcl am 13 Dezember 2017, 13:25:14
Du kannst als Device soweit alles benutzen, was dich zum Device führt...

Für den Anfang kannst du mal alles abstecken und beim Anstecken wird das erste USB-Device /dev/ttyUSB0, das zweite /dev/ttyUSB1 usw. Das kann man mit dem udevd dann in sprechende Namen umsetzen und so erhält man dann bspw. automatisch /dev/JeeLink1

Bin mir nicht sicher bezgl. des "HANGUP_WHEN_DONE", habe meine Jeelinks so eingebunden:
Zitat
10003:raw:0:/dev/JeeLink:57600 8DATABITS NONE 1STOPBIT

Der SignalDuino wiederum (nanoCUL?) sollte als Geschwindigkeit 38400 verwenden und ansonsten identisch zum JeeLink definiert werden.
Evtl. auch mal einen anderen Port als 6001 nehmen; 6001 ist laut Portliste ein Port für X11.

Zum Test per Telnet:
hast Du das auch von der fremden Maschine (auf der wo FHEM läuft) getestet? Telnet von der lokalen Maschine umgeht unter Umständen eine mögliche Firewall und man sieht kein Problem.

Sollte das dann stabil funktionieren, schauen wir uns FHEM an.

Hier fehlt noch der Auszug aus deiner fhem.cfg, wie das Device eingebunden wird.
Habe oben auch etwas von dummy gelesen; da bin ich mir grad nicht sicher ob das richtig ist.

Bei mir sieht es ungefähr so aus:
Zitatdefine JeeLink1 JeeLink 192.168.3.5:10003
Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: Sidey am 13 Dezember 2017, 20:01:44


Zitat von: connormcl am 13 Dezember 2017, 13:25:14

Der SignalDuino wiederum (nanoCUL?) sollte als Geschwindigkeit 38400

Der Signalduino ist kein nanoCUL und läuft derzeit im Default auf 57600 Baud.

Gruß Sidey

Gesendet von meinem XT1650 mit Tapatalk

Titel: Antw:Signalduino und FHEM2FHEM
Beitrag von: budda85 am 13 Dezember 2017, 21:39:52
 /dev/ttyUSBx ist zu unsicher, das kann sich auch mal schnell ändern. Mit by-id klappt es ja erstmal, aber by-path wäre interessant wenn man zwei arduino clone ohne FTDI-Chip an einen Raspberry anschließt, da die keine eigene ID haben.
UDEV und by-path könnte ich mir mal ansehen, das wäre dann schon mal ein Lösung.

Aber zurück zum Thema  :)

Ich habe jetzt nochmal alles an dem Remote-FHEM und an meinem Haupt-FHEM gelöscht und alles neu definiert.
Jetzt klappt es. Icht weiß zwar nicht was ich viel anderes gemacht haben, aber egal  8)

Dann noch zur Info:
Laut Wiki läuft der Signalduino auf 57600.
Den Port hab ich mal testweise geändert, was aber keinen Unterschied macht.
Die fhem.cfg packe ich eigentlich nicht mehr an und machen alles über die Weboberfläche. Das was ich geschrieben hatte, war ein list vom device.
Was ich bei beiden gelöscht habe ich das HANGUP_WHEN_DONE.
Hier nochmal die ser2net.cfg:
#Jeelink
6001:raw:0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03DA22-if00-port0:57600 NONE 1STOPBIT 8DATABITS

#Sduino
6002:raw:0:/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0:57600 NONE 1STOPBIT 8DATABITS

Ein List vom Signalduino:
Internals:
   CFGFN
   Clients    :IT:CUL_TCM97001:OREGON:CUL_TX:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_WS_Maverick:SIGNALduino_un:
   DEF        192.168.0.23:10002
   DMSG       nothing
   DevState   initialized
   DeviceName 192.168.0.23:10002
   FD         14
   NAME       SIGNALduino
   NR         602
   PARTIAL
   STATE      opened
   TIME       1513196157.10165
   TYPE       SIGNALduino
   version    V 3.3.1-dev SIGNALduino - compiled at Jan  3 2017 23:59:32
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}
     11:SD_WS09 ^P9#[A-Fa-f0-9]+
     12:SD_WS   ^W\d+x{0,1}#.*
     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
     14:Dooya   ^P16#[A-Fa-f0-9]+
     15:SOMFY   ^YsA[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     1:IT       ^i......
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     7:Hideki   ^P12#75[A-F0-9]+
     X:SIGNALduino_un ^[uP]\d+#.*
   QUEUE:
   READINGS:
     2017-12-13 21:33:13   ping            OK
     2017-12-13 21:33:15   state           opened
     2017-12-13 21:33:15   version         V 3.3.1-dev SIGNALduino - compiled at Jan  3 2017 23:59:32
   keepalive:
     ok         0
     retry      0
   mcIdList:
     10
     11
     12
     18
     43
     47
   msIdList:
     0
     1
     13
     14
     15
     17
     2
     22
     23
     25
     3
     32
     33
     35
     38
     4
     41
     45
     6
     7
   muIdList:
     16
     20
     21
     24
     26
     27
     28
     29
     30
     31
     34
     36
     37
     39
     40
     42
     44
     46
     48
     49
     5
     50
     51
     8
     9
Attributes:
   flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]


Und ein List vom jeelink:
Internals:
   CFGFN
   Clients    :PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110:KeyValueProtocol
   DEF        192.168.0.23:10001
   DeviceName 192.168.0.23:10001
   FD         15
   JeeLink_MSGCNT 170
   JeeLink_TIME 2017-12-13 21:34:23
   NAME       JeeLink
   NR         642
   PARTIAL
   RAWMSG     OK 9 10 1 4 164 45
   STATE      initialized
   TYPE       JeeLink
   initMessages
   model      LaCrosseITPlusReader.10.1s
   settings   (RFM69CW f:868300 r:17241)
   MatchList:
     1:PCA301   ^\S+\s+24
     2:EC3000   ^\S+\s+22
     3:RoomNode ^\S+\s+11
     4:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     5:AliRF    ^\S+\s+5
     6:EMT7110  ^OK\sEMT7110\s
     7:KeyValueProtocol ^OK\sVALUES\s
   READINGS:
     2017-12-13 21:34:23   state           initialized
Attributes:
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]


Vielleicht hilft es ja noch jemanden und ich hoffe das es jetzt auch läuft  ;) :)

Danke für eure Antworten