FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Helmi55 am 21 November 2017, 17:00:19

Titel: [gelöst] DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 21 November 2017, 17:00:19
Guten Abend
ich benötige bitte wieder eure Unterstützung
Ich habe einen Pi in der Garage und einen im Haus. Mein geliebtes DOIF - welches ja nun wieder funktioniert - möchte ich benützen
um beim Öffnen des Gartentores nicht nur die Gartenbeleuchtung (die am GaragenPi hängt) zu schalten, sondern auch oben im Haus (Pi im Haus)
eine Lampe im Wintergarten - Eingang zu schalten.
Ich dachte so (Fette Schrift)
(([Einfahrt] eq "Offen") and ([?GartenLicht] eq "off") and ([du_LangeAbwesend] eq "off") and [[Daemmerung:ss]-06:30]) (set GartenLicht on-for-timer 900, set GaragenLicht on-for-timer 900, [i][b]set FHEMHaus cmd setreading Wintergartenlicht on[/b][/i]) DOELSEIF (([Einfahrt] eq "Offen") and ([?GartenLicht] eq "on") and ([du_LangeAbwesend] eq "off") and [[Daemmerung:ss]-[Daemmerung:sr]]) (set GartenLicht off, set GaragenLicht off) DOELSE

hier nochmals nur der Befehl
[i][b]set FHEMHaus cmd setreading Wintergartenlicht on[/b][/i]

auch nur ein Set tut es nicht
RFHEM ist eingerichtet. Ich sehe auch keine Fehlermeldung im DOIF bzw. im Logfile

Danke für eure Hilfe
Gruß
Helmut
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: marvin78 am 21 November 2017, 17:12:33
setreading braucht einen weiteren Parameter. Bitte die Doku dazu studieren.


Das hat mit DOIF natürlich nichts zu tun.


Edit: Ich nehme an, dass du schalten möchtest. Dann ist aber setreading der falsche Befehl. Dann nutzt du einfach set.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 21 November 2017, 17:52:16
Servus
ok set reading ist Blödsin.
Aber laut wiki set FHEM2 cmd set Lampe1 on
habe ich das jetzt so ins DOIF eingebaut      set FHEMHaus cmd set Wintergartenlicht on
Ich sehe auch am GargenPi im log
2017.11.21 17:46:10 3: Host present, executing command...
2017.11.21 17:46:10 3: Command executed.


Aber die Lampe bleibt heroben finster
(Im Log der sendenden Instanz erscheint der Hinweis "command executed" und die zweite Instanz sollte die Lampe1 eingeschaltet haben.)

Was übersehe ich da noch - danke
Gruß
Helmut
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 21 November 2017, 19:44:25
Ja, auch wenn ich den Befehl direkt in die Befehlszeile eingebe passiert nichts. Es kommt auch keine Fehlermeldung.
Muss ich einen Dummy anlegen und schalten, und dieser löst über ein notify den echten Schalter aus?
Ist das ein Ansatz?
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Frank_Huber am 22 November 2017, 07:21:33
Zeig mal ein list von der Lampe.

Ich mache fast alle zentralen Steuerungen über rfhem. Das l au ft sehr stabil.
Denke da passt was im Befehl nicht. Groß / Klein Schreibung, set Kommando,...

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: marvin78 am 22 November 2017, 07:25:33
Was sagt denn das Log des zu steuernden Systems? Mach das hier bitte nicht zum Ratespiel.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 22 November 2017, 08:46:24
Guten Morgen

hier mal das List des zu schaltenden Autors Wintergartenlicht am Slave
Internals:
   DEF        542908
   IODev      myHmUART
   LASTInputDev myHmUART
   MSGCNT     10
   NAME       Wintergartenlicht
   NOTIFYDEV  global
   NR         127
   STATE      off
   TYPE       CUL_HM
   lastMsg    No:D6 - t:10 s:542908 d:300884 06010000
   myHmUART_MSGCNT 10
   myHmUART_RAWMSG 05010040D6A41054290830088406010000
   myHmUART_RSSI -64
   myHmUART_TIME 2017-11-21 16:19:54
   protLastRcv 2017-11-21 16:19:54
   protSnd    11 last_at:2017-11-21 16:19:54
   protState  CMDs_done
   rssi_at_myHmUART lst:-64 max:-64 avg:-66.2 min:-70 cnt:10
   rssi_myHmUART cnt:6 min:-77 max:-72 lst:-72 avg:-73.83
   READINGS:
     2017-11-21 16:16:51   CommandAccepted yes
     2017-05-25 12:15:32   D-firmware      2.8
     2017-05-25 12:15:32   D-serialNr      OEQ0170710
     2017-09-28 16:41:49   PairedTo        0x300884
     2017-05-25 12:14:30   R-pairCentral   0x300884
     2017-05-25 12:14:15   R-powerUpAction off
     2017-05-25 12:14:15   R-sign          off
     2017-09-28 16:41:49   RegL_00.        02:01 0A:30 0B:08 0C:84 15:FF 18:00 00:00
     2017-09-28 16:41:50   RegL_01.        08:00  30:06 57:24 56:00 00:00
     2017-11-21 16:19:54   deviceMsg       off (to VCCU)
     2017-11-21 16:19:54   level           0
     2017-11-21 16:19:54   pct             0
     2017-09-28 16:41:47   powerOn         2017-09-28 16:41:47
     2017-11-21 16:19:54   recentStateType info
     2017-11-21 16:19:54   state           off
     2017-11-21 16:19:54   timedOn         off
   helper:
     HM_CMDNR   214
     cSnd       113008845429080201C80000E100,113008845429080201C80000E100
     mId        0004
     rxType     1
     supp_Pair_Rep 0
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +542908,00,00,00
       nextSend   1511277594.53029
       prefIO
       rxt        0
       vccu
       p:
         542908
         00
         00
         00
     mRssi:
       mNo        D6
       io:
         myHmUART   -62
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf
       qReqStat
     role:
       chn        1
       dev        1
       prs        1
     rpt:
       IO         myHmUART
       flg        A
       ts         1511277594.30613
       ack:
         HASH(0x2ba2480)
         D6800230088454290800
     rssi:
       at_myHmUART:
         avg        -66.2
         cnt        10
         lst        -64
         max        -64
         min        -70
       myHmUART:
         avg        -73.8333333333333
         cnt        6
         lst        -72
         max        -72
         min        -77
     tmpl:
Attributes:
   IODev      myHmUART
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   2.8
   group      Licht
   model      HM-LC-SW1-FM
   peerIDs    00000000,
   room       Favoriten,Wintergarten
   serialNr   OEQ0170710
   subType    switch
   webCmd     on:off


hier am Master das RFHEM

Internals:
   DEF        10.0.0.10:7072
   HOSTNAME   10.0.0.10
   Interval   900
   NAME       FHEMHaus
   NR         462
   NTFY_ORDER 50-FHEMHaus
   PORT       7072
   STATE      created
   TYPE       RFHEM
   READINGS:
     2017-11-22 08:37:26   ipadress        10.0.0.10
     2017-11-22 08:37:26   statedev        present
Attributes:
   room       Steuerung


Ich will sicher kein Ratespiel machen. Im Log und im EventMonitor sehe ich am Slave (Haus Pi) nichts

Gebe ich den Befehl set FHEMHaus cmd set Wintergartenlicht on am Master in der Befehlszeile ein
sehe ich im EventMonitor 2017-11-22 08:37:01 RFHEM FHEMHaus cmd set Wintergartenlicht on

und im Log das
2017.11.22 08:43:09 3: Host present, executing command...
2017.11.22 08:43:09 3: Command executed.


RFHEM darf ja auf beiden Seiten installiert sein - oder ist hier der Fehler -
ich verwende seit langem einen RFHEM Befehl vom Haus zur Garage. Da lautet RFHEM FHEMGarage. sind ja auch zwei verschiedene IPs

Aber sonst sehe ich keine Fehlermeldungen. Danke
Helmut
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: marvin78 am 22 November 2017, 08:54:55
Ich glaube nicht, dass es ein Problem macht, RFHEM in beide Richtungen zu haben. Befehle beziehen sich ja direkt auf ein Device. Trotzdem kannst du ja mal testweise die Instanz am (in dem Fall) Slave deaktivieren.


Nur zur Sicherheit. Funktioniert denn ein

set Wintergartenlicht on


auf dem Slave-System direkt?
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 22 November 2017, 09:11:17
Servus
ja der Befehl funktioniert "direkt".
Habe die 2te RFHEM deaktiviert - leider ohne Erfolg.
Zur Sicherheit habe ich soeben beide Systeme upgedatet. Brachte auch nix.
Habe nun auch versucht ü der RFHEM eine andere Lampe/Aktor (IT statt HM) zu schalten - geht auch nicht!
Als Meldung kommt immer Host present. Command executed.

Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: automatisierer am 22 November 2017, 09:14:55
wie schauts denn mit der telnet definition am ZielPi aus? gibts da evtl. nen Passwort oder andere blockaden?
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: marvin78 am 22 November 2017, 09:19:36
Normalerweise sollte es dann keine Erfolgsmeldung geben und RFHEM nicht verbinden.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Frank_Huber am 22 November 2017, 09:22:36
Benötigt dein Telnet auf dem Slave evtl ein Passwort?

Bei mir gehen RFHEM Befehle auf jeden Fall auch in beide Richtungen durch. ohne Probleme.
Welche Modulversion hast Du denn installiert?
vor kurzem wurede daran gearbeitet.

vergleiche am Besten mal deine RFHEM Definitionen mit der jeweils gegenüber liegenden Telenet Definition.

Grüße
Frank
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Frank_Huber am 22 November 2017, 09:24:05
Zitat von: marvin78 am 22 November 2017, 09:19:36
Normalerweise sollte es dann keine Erfolgsmeldung geben und RFHEM nicht verbinden.

Hier kommt wieder die RFHEM Version ins Spiel...
Wird meine ich nur geprüft ob der Ziel PI erreichbar (ping) ist.
Wenn Ping OK dann Befehl raus. könnte also durchaus an fehlendem PW liegen.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: automatisierer am 22 November 2017, 09:29:30
Zitat von: marvin78 am 22 November 2017, 09:19:36
Normalerweise sollte es dann keine Erfolgsmeldung geben und RFHEM nicht verbinden.
ja, das wundert mich auch...
hab bei mir mal fix rfhem eingerichtet, der state ist auch present, aber Befehle senden kann ich auch nicht...

2017.11.22 09:28:29.900 3: Command executed.
2017.11.22 09:28:29.899 3: Host present, executing command...
2017.11.22 09:27:51.390 3: Command executed.
2017.11.22 09:27:51.389 3: Host present, executing command...

und das steht im LOG...

k.a. wo es hängt.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 22 November 2017, 09:38:53
Also die alte RFHEM Version ist 93_RFHEM.pm           15058 2017-09-12 19:30:29Z chris1284
                                             98_telnet.pm          15006 2017-09-05 09:37:33Z rudolfkoenig

und die neue Version ist           93_RFHEM.pm               15058 2017-09-12 19:30:29Z chris1284
                                             98_telnet.pm              15006 2017-09-05 09:37:33Z rudolfkoenig

Hier ein List vom Haus telnet Internals:
   CONNECTS   2
   DEF        7072 global
   FD         5
   NAME       telnetPort
   NR         8
   NTFY_ORDER 50-telnetPort
   PORT       7072
   STATE      Initialized
   TYPE       telnet
Attributes:
   room       System


und hier von der Garage
Internals:
   CONNECTS   35
   DEF        7072 global
   FD         6
   NAME       telnetPort
   NR         13
   NTFY_ORDER 50-telnetPort
   PORT       7072
   STATE      Initialized
   TYPE       telnet
Attributes:
   room       System



Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 22 November 2017, 09:42:54
habe jetzt auf beiden Systemen über die Konsole versucht den anderen zu pingen 10.0.0.10:7072
da bekomme ich unknown host zurück.
auch bei 10.0.0.5:7072
Wo bei die eine Richtung ja funktioniert.
Habe ich soeben geprüft
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Frank_Huber am 22 November 2017, 09:45:15
Hier eine funktionierende Paarung:
Einen Unterschied sehe ich, ich habe für die Instanzen jeweils einene Telnet Ports aufgemacht.

RFHEM auf dem PI im KG:
Internals:
   DEF        192.168.12.154:7771
   HOSTNAME   192.168.12.154
   Interval   900
   NAME       PI_DG
   NR         143
   NTFY_ORDER 50-PI_DG
   PORT       7771
   STATE      present
   TYPE       RFHEM
   READINGS:
     2017-11-22 09:33:55   ipadress        192.168.12.154
     2017-11-22 09:33:55   statedev        present
Attributes:
   DbLogExclude .*
   RFHEMdevs  Rollo
   group      System-Hardware
   room       SYSTEM
   stateFormat statedev
   verbose    0


Telnet auf dem PI_DG:
Internals:
   CONNECTS   471
   DEF        7771 global
   FD         41
   NAME       telnetPort_for_KG
   NR         180
   NTFY_ORDER 50-telnetPort_for_KG
   PORT       7771
   STATE      Initialized
   TYPE       telnet
Attributes:
   group      System
   room       SYSTEM


die RFHEM Telnet Ports laufen ohne Passwort, sind aber auch niocht von aussen zu erreichen.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Frank_Huber am 22 November 2017, 09:46:05
Zitat von: Helmi55 am 22 November 2017, 09:42:54
habe jetzt auf beiden Systemen über die Konsole versucht den anderen zu pingen 10.0.0.10:7072
da bekomme ich unknown host zurück.
auch bei 10.0.0.5:7072
Wo bei die eine Richtung ja funktioniert.
Habe ich soeben geprüft
Ping ohne Port!
oder mit speziellen PortPing Tools.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: automatisierer am 22 November 2017, 09:56:02
Ok, nun läufts.

Hab das Passwort am telnetport gelöscht... mit PW gibt es irgendwie Probleme...

Achtung, das PW steht nicht in der telnet definition, sondern in der allowed_telnet definition...
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: automatisierer am 22 November 2017, 09:59:20
Zitatallowfrom
Regexp der erlaubten IP-Adressen oder Hostnamen. Wenn dieses Attribut gesetzt wurde, werden ausschließlich Verbindungen von diesen Adressen akzeptiert.
Achtung: falls allowfrom nicht gesetzt ist, und keine gütige allowed Instanz definiert ist, und die Gegenstelle eine nicht lokale Adresse hat, dann wird die Verbindung abgewiesen. Folgende Adressen werden als local betrachtet:

    IPV4: 127/8, 10/8, 192.168/16, 172.16/10, 169.254/16
    IPV6: ::1, fe80/10


könnte bei deiner Adresse auch noch nen Rolle spielen.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Helmi55 am 22 November 2017, 10:01:51
Automatisierer - DANKE

ja in der allowed telNet war der Fehler begraben. Habe dies mal gelöscht und einen Neustart beider Systeme durchgeführt
und nun funkt es.
Wie immer ihr seid großartig. Herzlichen Dank
LG'Helmut
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: Frank_Huber am 22 November 2017, 10:03:28
Zitat von: automatisierer am 22 November 2017, 09:56:02
Ok, nun läufts.
Hab das Passwort am telnetport gelöscht... mit PW gibt es irgendwie Probleme...
Achtung, das PW steht nicht in der telnet definition, sondern in der allowed_telnet definition...

kannst auch bei RFHEM das PW mitgeben.
Wobei meine Beobachtung ist dass es ohne PW im telnet flüssiger läuft.
Titel: Antw:DOIF und eine Lampe am entfernten RPi über RFHEM schalten
Beitrag von: automatisierer am 22 November 2017, 10:04:56
Zitat von: Frank_Huber am 22 November 2017, 10:03:28
kannst auch bei RFHEM das PW mitgeben.
schon klar, das hat aber dennoch nicht funktioniert.