Eltako FSR14M-2x, fehlerhafte Darstellung

Begonnen von Credo, 16 Juli 2023, 07:14:23

Vorheriges Thema - Nächstes Thema

Credo

Hallo zusammen,

ich habe einen "neuen" Eltako Schaltaktor FSR14M-2x mit Strommessung im Einsatz.
Der Aktor funktioniert im Prinzip wie ein Eltako FSR14-2x, schickt aber zusätzlich noch Leistungsdaten nach EEP A5-12-01 mit.

Nun habe ich folgendes Problem.
Sobald ich über FHEM den Aktor einschalte, geht das Reading state auf B0 und der Aktor schaltet ein.
Einige Sekunden später, kommt allerdings ein Telegram mit den Leistungsdaten und der state wechselt auf 0.
Dies hat bei mir in Homebridge z.B. zur folge, dass der Aktor wieder als "eingeschaltet" angezeigt wird, obwohl er es nicht ist.

Kann ich irgendwie die "0" ignorieren?

Vielen Dank vorab.

klaus.schauer

Es gibt zwei Methoden, um einen FSR14 Schaltaktor in Fhem anzulegen: manuell oder per teach-in als EEP F6-02-01 (switch) oder per "inoffiziellem" EEP O5-38-08 als A5-38-08 (Gateway/Switching). Wahrscheinlich wurde hier die erste Methode verwendet. Danach wurde dann per teach-in aus dem switch-Device ein EEP A5-12-01 (autoMeterReading.01). Deshalb überschreiben die A5-12-01 Telegramme nun das Reading state.

Damit das wieder passt, werde ich wohl die Auswertelogik über eine zusätzliches Model-Attribut "Eltako_FSR14M" erweitern müssen. Das wird aber leider etwas dauern, da vorher noch andere Baustellen erledigt werden müssen.

Bitte mal ein "list" vom Fhem Device einstellen.

Credo

Richtig, ich hatte den FSR14M manuell eingelernt.
Habe es nun einmal als Gateway angelernt, allerdings ist das Ergebnis das gleich. Hier kommt lediglich eine andere Fehlermeldung "gateway Cmd: 0 unknown".

Gibt es nicht eine Workaround den ich nutzen kann, wo die "0" einfach ignoriert wird?

Internals:
   DEF        FFCC5459
   FUUID      64b29902-f33f-5081-3368-4372537a896b7a3d
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     100
   NAME       Filterpumpe
   NR         275
   NTFY_ORDER 50-Filterpumpe
   STATE      gateway Cmd: 0 unknown
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 100
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -42
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 5
   TCM_ESP3_0_TIME 2023-07-16 14:32:39
   TYPE       EnOcean
   eventCount 8
   READINGS:
     2023-07-16 12:39:15   D0              0
     2023-07-16 12:39:15   D1              0
     2023-07-16 12:39:15   D2              1
     2023-07-16 12:39:15   D3              1
     2023-07-16 12:27:09   IODev           TCM_ESP3_0
     2023-07-16 14:28:32   block           unlock
     2023-07-16 12:39:11   buttons         pressed
     2023-07-16 12:39:11   channelB        B0
     2023-07-16 12:39:15   sensor1         0
     2023-07-16 12:39:15   sensor2         0
     2023-07-16 12:39:15   sensor3         205
     2023-07-16 14:32:39   state           gateway Cmd: 0 unknown
   helper:
Attributes:
   IODev      TCM_ESP3_0
   eep        A5-38-08
   event-min-interval .*:43200
   event-on-change-reading .*
   genericDeviceType outlet
   group      Garten
   gwCmd      switching
   manufID    00D
   model      Eltako_FSR14
   room       Homekit
   subDef     FFCFFADB
   subType    gateway
   switchMode switch/code]

klaus.schauer

Damit das EnOcean-Modul die Energiewerte richtig interpretiert ist das Attribut subType auf autoMeterReading.01 zu setzen. Um aber den Aktor schalten zu können, muss subType auf switch oder gateway sowie gwCmd = switching stehen.

Das lässt sich realisieren durch:
attr <device> subType autoMeterReading.01
attr <device> subTypeSet switch
oder
attr <device> subType autoMeterReading.01
attr <device> subTypeSet gateway
attr <device> gwCmd switching
oder
attr <device> subTypeReading autoMeterReading.01
attr <device> subType gateway
attr <device> gwCmd switching
oder
attr <device> subTypeReading autoMeterReading.01
attr <device> subType switch
Bitte mal damit versuchen und ein Listing senden.

Aber egal wie man es macht, das Reading state wird immer auch vom Profil autoMeterReading.01 beschrieben. Eine Lösung ohne eine Änderung des Programmcodes fällt mir nicht ein.

Credo

Das scheint zu funktionieren, zumindestens mit dem Energiewert.

Internals:
   DEF        FFCC5459
   FUUID      64b29902-f33f-5081-3368-4372537a896b7a3d
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     643
   NAME       Filterpumpe
   NR         275
   NTFY_ORDER 50-Filterpumpe
   STATE      202
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 643
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -42
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 8
   TCM_ESP3_0_TIME 2023-07-16 20:58:44
   TYPE       EnOcean
   eventCount 14
   READINGS:
     2023-07-16 12:39:15   D0              0
     2023-07-16 12:39:15   D1              0
     2023-07-16 12:39:15   D2              1
     2023-07-16 12:39:15   D3              1
     2023-07-16 12:27:09   IODev           TCM_ESP3_0
     2023-07-16 20:57:39   block           unlock
     2023-07-16 20:57:41   buttons         pressed
     2023-07-16 20:57:41   channelB        B0
     2023-07-16 20:58:44   power           202
     2023-07-16 12:39:15   sensor1         0
     2023-07-16 12:39:15   sensor2         0
     2023-07-16 12:39:15   sensor3         205
     2023-07-16 20:58:44   state           202
   helper:
Attributes:
   IODev      TCM_ESP3_0
   eep        A5-38-08
   event-min-interval .*:43200
   event-on-change-reading .*
   genericDeviceType outlet
   group      Garten
   gwCmd      switching
   manufID    00D
   model      Eltako_FSR14
   room       Homekit
   subDef     FFCFFADB
   subType    gateway
   subTypeReading autoMeterReading.01
   switchMode switch/code]

klaus.schauer

Das Update steht jetzt zur Verfügung. Das Device wird mit
define <device> EnOcean P5-38-08
angelegt und dann in den Aktor FSR14M-2x eingelernt. Ggf. muss die Leistungsmessung im zweiten Schritt noch per
set <IODev> teach <time>
in Fhem eingelernt werden.

Credo

Hallo Klaus,

vielen Dank, es scheint in FHEM jetzt sauber zu funktionieren.
Allerdings scheint mit dem Homebridge Mapping etwas noch nicht richtig zu funktionieren.
Hier schaltet sich das device trotzdem immer wieder automatisch ein, sobald das Leistungstelegramm kommt.

Vielleicht hat ja jemand noch eine Idee.

Internals:
   DEF        FFCC5459
   FUUID      64b29902-f33f-5081-3368-4372537a896b7a3d
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     16
   NAME       Filterpumpe
   NR         275
   NTFY_ORDER 50-Filterpumpe
   STATE      B0
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 16
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -42
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 9
   TCM_ESP3_0_TIME 2023-07-22 07:14:15
   TYPE       EnOcean
   eventCount 20
   READINGS:
     2023-07-22 07:07:08   IODev           TCM_ESP3_0
     2023-07-22 07:14:08   block           unlock
     2023-07-22 07:14:11   buttons         pressed
     2023-07-22 07:14:11   channelB        B0
     2023-07-22 07:14:15   power           200
     2023-07-22 07:14:11   state           B0
     2023-07-22 07:03:58   teach           4BS teach-in sent
   helper:
Attributes:
   IODev      TCM_ESP3_0
   eep        A5-38-08
   event-min-interval .*:43200
   event-on-change-reading .*
   eventMap   on:B0 off:BI
   genericDeviceType outlet
   group      Garten
   gwCmd      switching
   manufID    00D
   model      Eltako_FSR14M
   room       Homekit
   subDef     FFCFFADB
   subType    gateway
   subTypeReading autoMeterReading.01
   switchMode switch
   webCmd     on:off/code]

Credo

Ich bin immer noch auf der Suche woran es liegt.
Irgendwas scheint, sobald die Rückmeldung kommt (70), den Aktor in Homebridge wieder zu deaktivieren.
Sobald ich unter DEF eine Fantasie ID eingebe funktioniert es.
Ich habe das auch mit DolphinView nachvollziehen können.

Ziemlich komisch, beim anderen Kanal auf dem Aktor ist das nicht der Fall, obwohl die Einstellungen exakt gleich sind.
Mir ist allerdings aufgefallen, dass die Readings unterschiedlich sind. Beim funktionierenden Kanal habe ich weitaus mehr und der STATE wechselt z.B. nicht zwischen B0/BI sondern zwischen on/off.

Hat jemand noch eine Idee?

Credo

Das ganze wird für mich immer mysteriöser.

Wie ich bereits geschrieben hatte, funktioniert ja ein Kanal ohne Probleme.
Dieser unterscheidet sich nur durch die zusätzlichen Readings wie D0,D1 etc. (woher auch immer die kommen?)
Ich habe bei diesem funktionierenden Kanal einfach mal per teach ein 4BS Telegramm gesendet.
Daraufhin sind die zusätzlichen Readings verschwunden und der Kanal verhält sich jetzt genauso "komisch" wie der erste.  :-\

Kann mir jemand sagen, warum der "State" erst auf "on" und dann auf B0 bzw. "off" und dann auf "BI" springt?
Was das bedeutet ist mir klar, bei dem funktionierenden Kanal war das aber nicht so.
Hier blieb der "State" immer auf "on" bzw. auf "off.