mehrer Eltako FT55 und notify

Begonnen von bicmac, 10 Mai 2020, 16:42:46

Vorheriges Thema - Nächstes Thema

bicmac

Hi,
ich habe bei mri im Schlafzimmer mehrer Eltako FT55 über Enocan am FHEM angebunden und shcalte darüber meine Shelly Aktoren.
In den anderen Räumen geht das alles auch alles usper, nur im Schlafzimmer wollte ich alle beiden Channels der FT55 nutzen.
Daher habe ich Sie mit Readingproxys aufgeteilt in ChannelA und ChannelB.
Da ich 2 FT55 habe habe ich nun also insgeamt 4 Readingproxys.
Über ein Notify will ich nun Wenn Einer der Taster auf ChannelA was sendet eine Deckenlmpe schalten und wenn auf Channel B was kommt die Schranklampe.
Nur leider geht das nicht wirklich. Irgendwie schaltet er wie er will. Ich denke ich hab im Notify einen Denkfehler.
Hier mal ein Listing der betroffenen Devices.

die beiden FT55:


Internals:
   DEF        FEEFF691
   FUUID      5eb7e6d1-f33f-236c-1ca1-f8572054dd6ae3d7
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     102
   NAME       Funktaster_EG_SZ_1
   NR         110
   NTFY_ORDER 50-Funktaster_EG_SZ_1
   STATE      BI
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 102
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -79
   TCM_ESP3_0_ReceivingQuality good
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 3
   TCM_ESP3_0_TIME 2020-05-10 16:26:14
   TYPE       EnOcean
   READINGS:
     2020-05-10 16:26:14   buttons         released
     2020-05-10 16:26:12   channelA        AI
     2020-05-10 16:26:13   channelB        BI
     2020-05-10 16:26:13   state           BI
     2020-05-10 13:34:41   teach           RPS teach-in accepted EEP F6-02-01 Manufacturer: no ID
   helper:
Attributes:
   DbLogExclude .*
   IODev      TCM_ESP3_0
   eep        F6-02-01
   icon       taster
   manufID    7FF
   room       EnOcean
   subType    switch
   teachMethod RPS
   webCmd     :



Internals:
   DEF        FEEFF699
   FUUID      5eb7e6d8-f33f-236c-099d-76152bdc034165cc
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     108
   NAME       Funktaster_EG_SZ_2
   NR         111
   NTFY_ORDER 50-Funktaster_EG_SZ_2
   STATE      BI
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 108
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -76
   TCM_ESP3_0_ReceivingQuality good
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 3
   TCM_ESP3_0_TIME 2020-05-10 16:27:28
   TYPE       EnOcean
   READINGS:
     2020-05-10 16:27:28   buttons         released
     2020-05-10 16:26:09   channelA        AI
     2020-05-10 16:27:28   channelB        BI
     2020-05-10 16:27:28   state           BI
     2020-05-10 13:34:48   teach           RPS teach-in accepted EEP F6-02-01 Manufacturer: no ID
   helper:
Attributes:
   DbLogExclude .*
   IODev      TCM_ESP3_0
   eep        F6-02-01
   icon       taster
   manufID    7FF
   room       EnOcean
   subType    switch
   teachMethod RPS


Die ReadingProxys:


Internals:
   DEF        Funktaster_EG_SZ_1:channelA
   DEVICE     Funktaster_EG_SZ_1
   FUUID      5eb7eb6f-f33f-236c-cafe-661016cff5c9295b
   NAME       Funktaster_EG_SZ_1_Proxy_A
   NOTIFYDEV  global,Funktaster_EG_SZ_1
   NR         112
   NTFY_ORDER 50-Funktaster_EG_SZ_1_Proxy_A
   READING    channelA
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     Funktaster_EG_SZ_1 1
   READINGS:
     2020-05-10 15:52:00   lastCmd         off
     2020-05-10 16:26:12   state           off
Attributes:
   DbLogExclude .*
   devStateIcon off:FS20.off on:FS20.on
   event-on-change-reading state
   room       EnOcean
   setFn      {($CMD eq "on")?"A0":"AI";}
   setList    off on
   valueFn    {($VALUE eq "A0")?"on":"off"}



Internals:
   DEF        Funktaster_EG_SZ_2:channelA
   DEVICE     Funktaster_EG_SZ_2
   FUUID      5eb7eb83-f33f-236c-2ded-9c48f7143309d5a1
   NAME       Funktaster_EG_SZ_2_Proxy_A
   NOTIFYDEV  Funktaster_EG_SZ_2,global
   NR         114
   NTFY_ORDER 50-Funktaster_EG_SZ_2_Proxy_A
   READING    channelA
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     Funktaster_EG_SZ_2 1
   READINGS:
     2020-05-10 14:12:44   lastCmd         off
     2020-05-10 16:26:09   state           off
Attributes:
   DbLogExclude .*
   event-on-change-reading state
   room       EnOcean
   setFn      {($CMD eq "on")?"A0":"AI";}
   setList    off on
   valueFn    {($VALUE eq "A0")?"on":"off"}
   webCmd     off:on



Internals:
   DEF        Funktaster_EG_SZ_1:channelB
   DEVICE     Funktaster_EG_SZ_1
   FUUID      5eb7eb79-f33f-236c-7c2b-e549aadbda7543a4
   NAME       Funktaster_EG_SZ_1_Proxy_B
   NOTIFYDEV  Funktaster_EG_SZ_1,global
   NR         113
   NTFY_ORDER 50-Funktaster_EG_SZ_1_Proxy_B
   READING    channelB
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     Funktaster_EG_SZ_1 1
   READINGS:
     2020-05-10 15:52:04   lastCmd         off
     2020-05-10 16:26:13   state           off
Attributes:
   DbLogExclude .*
   event-on-change-reading state
   room       EnOcean
   setFn      {($CMD eq "on")?"B0":"BI";}
   setList    off on
   valueFn    {($VALUE eq "B0")?"on":"off"}
   webCmd     off:on



Internals:
   DEF        Funktaster_EG_SZ_2:channelB
   DEVICE     Funktaster_EG_SZ_2
   FUUID      5eb7eb8e-f33f-236c-c229-c6ad1f17ee2e4866
   NAME       Funktaster_EG_SZ_2_Proxy_B
   NOTIFYDEV  global,Funktaster_EG_SZ_2
   NR         115
   NTFY_ORDER 50-Funktaster_EG_SZ_2_Proxy_B
   READING    channelB
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     Funktaster_EG_SZ_2 1
   READINGS:
     2020-05-10 14:12:47   lastCmd         off
     2020-05-10 16:27:28   state           off
Attributes:
   DbLogExclude .*
   event-on-change-reading state
   room       EnOcean
   setFn      {($CMD eq "on")?"B0":"BI";}
   setList    off on
   valueFn    {($VALUE eq "B0")?"on":"off"}
   webCmd     off:on


und hier die notifys:


Internals:
   DEF        Funktaster_EG_SZ_[0-9]_Proxy_A set Schlafzimmer_Deckenlampe $EVENT
   FUUID      5eb7fb6e-f33f-236c-2c2c-3bdb426689d48d5e
   NAME       notify_Schlafzimmerlampen_EG
   NR         116
   NTFY_ORDER 50-notify_Schlafzimmerlampen_EG
   REGEXP     Funktaster_EG_SZ_[0-9]_Proxy_A
   STATE      2020-05-10 16:23:20
   TRIGGERTIME 1589120600.08689
   TYPE       notify
   READINGS:
     2020-05-10 16:16:07   state           active
Attributes:
   DbLogExclude .*
   room       Logik



Internals:
   DEF        Funktaster_EG_SZ_[0-9]_Proxy_B set shellyplug_schrank_sz $EVENT
   FUUID      5eb7fc25-f33f-236c-8d61-f5f0d2c7816f079c
   NAME       notify_Schlafzimmerlampen_Schrank_EG
   NR         117
   NTFY_ORDER 50-notify_Schlafzimmerlampen_Schrank_EG
   REGEXP     Funktaster_EG_SZ_[0-9]_Proxy_B
   STATE      2020-05-10 16:27:28
   TRIGGERTIME 1589120848.13574
   TYPE       notify
   READINGS:
     2020-05-10 16:16:07   state           active
Attributes:
   DbLogExclude .*
   room       Logik


die Shelly spare ich mir mal als Listing. Das sind normale mqqt2 Device und das schalten funkioniert auch manuel über das Device.
Wenn es unbedingt nötig ist kann ich das Listing aber gern noch nachreichen.

Otto123

#1
Hi,

hier die Basis für die Fehlersuche: https://wiki.fhem.de/wiki/Notify
Mach am Besten den Eventmonitor und schau Dir an welche Events überhaupt kommen. Ich vermute da liegt der Fehler.
Erzeugt ein readingsProxy überhaupt neue Events?  ???

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

bicmac

events kommen ja an und die Lampen gehen auch an/aus.
nur als wechselschaltung also am schalter 1 einschalten und am
schalter 2 auschalten geht es mal ja und mal nein.  :'(

Otto123

#3
Na dann hast Du es ja jetzt gut erklärt   :-X wie soll man da helfen?

Tipp: Wenn es Events vom Gerät Funktaster_EG_SZ_1_Proxy_A gibt: Du triggerst mit deinem notify auf ALLE Events und leitest ALLE Events einfach so an die Lampe weiter.
Vielleicht schaust Du doch mal, wie die Events aussehen, wieviele es sind und ob die Lampe diese auch verstehen kann.  :o

Mach also bitte den Eventmonitor auf, stell als Filter Funktaster_EG_SZ_1_Proxy_A.* ein und poste die Events wenn ein Taster betätigt wird.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Nobbynews

#4
Zitat von: bicmac am 10 Mai 2020, 16:42:46
In den anderen Räumen geht das alles auch alles usper, nur im Schlafzimmer wollte ich alle beiden Channels der FT55 nutzen.
Daher habe ich Sie mit Readingproxys aufgeteilt in ChannelA und ChannelB.
Wieso ist eine Aufteilung nötig?
Wenn man die Doppelwippe benutzt, werden beim FT55 doch automatisch die readings für channelA und channelB angelegt.
Die können dann über notify getrennt ausgewertet werden.
Bei der Einzelwippe kommt, je noch Monatgerichtung der Wippe, entweder nur channelA oder nur channelB.

Außerdem frage ich mich, wo in Deinen readingProxies die Information zum Status von Schalter 1 an Schalter 2 geht und umgekehrt.
Auch wird in Deinen notifies nicht der Status der Lampe abgefragt.
Das kann unnötige Traffic erzeugen, wenn die Lampe aus ist und versehentlich der Taster für die Aus-Stellung gedrückt wird.

Für einen ähnllichen Fall habe ich hier bei mir ein notify definiert, hier nur kurz die DEF da ich gerade keine direkten Zugriff habe :
ENO_FEFXYZ:channelA:.A0 {
if (readingsVal("Kueche_CC1101","state","on") eq "off")
{
fhem ("set Kueche_Cc1101 on");
}
}


Das Senden der Taster selbst kannst Du natürlich nicht unterdrücken.

Hinweis im Wiki berücksichtigt?
https://wiki.fhem.de/wiki/ReadingsProxy#EnOcean_Serienschalter

Norbert

bicmac

warum unnötigen traffic? den habe ich doch FHEM intern auch wenn ich immer erst den Status vom device abfrage was ich schalten will oder hab ich da einen Gedankenfehler?

Aber ich habe den Fehler gefunden.
Ich musste bei den Tastern bzw den proxys von event-on-change-reading auf event-on-update-reading umstellen. Das hatte ich vergessen, da bei mir alle devices standardmässig mit dem change-reading definiert werde .


Gesendet von iPhone mit Tapatalk Pro

Nobbynews

Ich meinte den Traffic im Wlan und nicht in Fhem.
Dein notify schickt einen "off"-Befehl, obwohl die Lampe aus ist.
Daher eigentlich unnötig.

bicmac

ah okay. ich muss mal schauen ob das kritisch ist ggf kann ich es ja noch erweitern. Ich baue das ganze grad eh nochmal um. Danke dir