Probleme mit eventMap

Begonnen von Michael P., 06 April 2017, 11:25:20

Vorheriges Thema - Nächstes Thema

Michael P.

Moin moin,

im Zuge der Umstellung vom EIB auf das KNX-Modul möchte ich auch meine FHEM-Installation etwas "verschönern". Dazu gehört das ich meine Rolladen nicht mehr mit "on" und "off" bewege sondern "Oben" "Unten" und "Stop" benutze. Mittel meiner Wahl ist logischerweise eventMap.

Ich füge das Attribut hinzu, überzeuge mich das es im Device angekommen ist, teste es und speichere die Config ab (alles via telnet):

fhem>attr ROLL_SCHLAF eventMap /off:Oben/ /on:Unten/ /on g2:Stop/
fhem>list ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 11:06:58   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   /off:Oben/ /on:Unten/ /on g2:Stop/
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop

fhem>set ROLL_SCHLAF Unten
fhem>set ROLL_SCHLAF Oben
fhem>set ROLL_SCHLAF Stop

fhem> save
Wrote configuration to fhem.cfg



So weit, so gut, in der Config ist das auch alles angekommen:


root@fhem_master:/opt/fhem# grep ROLL_SCHLAF fhem.cfg
define ROLL_SCHLAF KNX 1/1/0:dpt1 1/1/1:dpt1
attr ROLL_SCHLAF userattr room_map structexclude
attr ROLL_SCHLAF IODev KNXNetwork
attr ROLL_SCHLAF alias Rollade Schlafzimmer
attr ROLL_SCHLAF devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
attr ROLL_SCHLAF eventMap /off:Oben/ /on:Unten/ /on g2:Stop/
attr ROLL_SCHLAF room Schlafzimmer
attr ROLL_SCHLAF webCmd Unten:Oben:Stop


Nach ca 5 Minuten bzw einem Neustart ("shutdown restart") "kennt" fhem das "Stop"-Kommando nicht mehr


fhem> set ROLL_SCHLAF Stop
Unknown argument stop, choose one of raw on-until on rgb:colorpicker value string on-for-timer off


Und in den Attributen taucht es auch nicht mehr auf:


fhem>list  ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 11:08:59   setG1           off
     2017-04-06 11:08:59   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   off:Oben on:Unten
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop


Und das obwohl die Zeile


attr ROLL_SCHLAF eventMap /off:Oben/ /on:Unten/ /on g2:Stop/


nach wie vor in der fhem.cfg steht.

Ich stehe etwas auf dem Schlauch ... hat jemand einen Tip ?  ???

Danke im voraus und viele Grüße - Michael
3x FHEM (via FHEM2FHEM, EIB/KNX, Sonoff mit Tasmota, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung

DeeSPe

Deine eventMap sieht komisch aus.
Das sollte so aussehen denke ich:
attr ROLL_SCHLAF eventMap /off:Oben/on:Unten/on g2:Stop/

Solange Deine Commands keine Leerzeichen enthalten nimmst Du Leerzeichen als Trennzeichen der einzelnen Maps.
Wenn Deine Commands Leerzeichen enthalten, dann nimmst Du / als Trennzeichen und stellst es zusätzlich an Anfang und Ende.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Michael P.

Hi Dan,

Zitat von: DeeSPe am 06 April 2017, 11:53:10
Das sollte so aussehen denke ich:
attr ROLL_SCHLAF eventMap /off:Oben/on:Unten/on g2:Stop/

Solange Deine Commands keine Leerzeichen enthalten nimmst Du Leerzeichen als Trennzeichen der einzelnen Maps.
Wenn Deine Commands Leerzeichen enthalten, dann nimmst Du / als Trennzeichen und stellst es zusätzlich an Anfang und Ende.

So hatte ich es auch zunächst verstanden (die letzte Version mit den doppelten "/ /" war ein Tipp aus einem Beitrag zu einem ähnlichen Problem). Deine Version hatte ich auch schon ausprobiert - bringt leider denselben Fehler:


fhem> attr ROLL_SCHLAF eventMap /off:Oben/on:Unten/on g2:Stop/

fhem> save
Wrote configuration to fhem.cfg
fhem>
fhem> list ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 11:08:59   setG1           off
     2017-04-06 11:08:59   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   /off:Oben/on:Unten/on g2:Stop/
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop

fhem> quit
Bye...
Connection closed by foreign host.

root@fhem_master:/opt/fhem# grep ROLL_SCHLAF fhem.cfg
define ROLL_SCHLAF KNX 1/1/0:dpt1 1/1/1:dpt1
attr ROLL_SCHLAF userattr room_map structexclude
attr ROLL_SCHLAF IODev KNXNetwork
attr ROLL_SCHLAF alias Rollade Schlafzimmer
attr ROLL_SCHLAF devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
attr ROLL_SCHLAF eventMap /off:Oben/on:Unten/on g2:Stop/
attr ROLL_SCHLAF room Schlafzimmer
attr ROLL_SCHLAF webCmd Unten:Oben:Stop

root@fhem_master:/opt/fhem# telnet localhost 7072
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
fhem> shutdown restart
Connection closed by foreign host.

root@fhem_master:/opt/fhem# telnet localhost 7072
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
list ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 13:02:05   setG1           off
     2017-04-06 13:02:05   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   off:Oben on:Unten
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop



Es muss irgendwas mit der zweiten Gruppenadresse im argen sein, dies ist der einzige Parameter der immer rausfliegt, die beiden anderen der ersten Gruppenadresse bleiben immer drinnen, egal wie ich sie benenne ...

Grüße - Michael
3x FHEM (via FHEM2FHEM, EIB/KNX, Sonoff mit Tasmota, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung

rudolfkoenig

- die Schreibweise mit Leerzeichen zwischen / / sollte keine Probleme beheben, aber auch keine verursachen, evtl. dient es der Lesbarkeit

- eine eventMap wird von vorne nach hinten abgearbeitet, deswegen sollte, wenn das gleiche Wort oefters vorkommt, die laengere Bezeichnung weiter vorne auftauchen. Konkret: /off:Oben/ /on g2:Stop/ /on:Unten/. Sonst wird "on g2" zu "Unten g2" zurueckuebersetzt, und nicht zu Stop.

- ich habe versucht das Problem mit einem dummy nachzustellen, und finde kein Problem. Ich wuerde, wenn das Problem auftaucht, mit "save ?" pruefen, ob das "offiziell" per attr bzw. CommandAttr() erzeugt wurde, oder inoffiziell per "$attr{ROLL_SCHLAF}{eventMap} = ...;". Je nach Ergebnis muss man dann weitersuchen. Beabsichtigt ist sowas definitiv nicht.

Michael P.

Hi Rudolf,

Zitat von: rudolfkoenig am 06 April 2017, 13:47:06
- eine eventMap wird von vorne nach hinten abgearbeitet, deswegen sollte, wenn das gleiche Wort oefters vorkommt, die laengere Bezeichnung weiter vorne auftauchen. Konkret: /off:Oben/ /on g2:Stop/ /on:Unten/. Sonst wird "on g2" zu "Unten g2" zurueckuebersetzt, und nicht zu Stop.

- ich habe versucht das Problem mit einem dummy nachzustellen, und finde kein Problem. Ich wuerde, wenn das Problem auftaucht, mit "save ?" pruefen, ob das "offiziell" per attr bzw. CommandAttr() erzeugt wurde, oder inoffiziell per "$attr{ROLL_SCHLAF}{eventMap} = ...;". Je nach Ergebnis muss man dann weitersuchen. Beabsichtigt ist sowas definitiv nicht.

Danke für den Hinweis mit der Reihenfolge, ich habs mal eingearbeitet, vorher zur Sicherheit das Attribut mal komplett gelöscht:

fhem> deleteattr ROLL_SCHLAF eventMap
fhem> list ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 13:54:15   setG1           off
     2017-04-06 13:54:15   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop

fhem> save ?
Last 10 structural changes:
  deleteAttr ROLL_SCHLAF eventMap
fhem> save
Wrote configuration to fhem.cfg
fhem> quit
Bye...
Connection closed by foreign host.

root@fhem_master:/opt/fhem# grep ROLL_SCHLAF fhem.cfg
define ROLL_SCHLAF KNX 1/1/0:dpt1 1/1/1:dpt1
attr ROLL_SCHLAF userattr room_map structexclude
attr ROLL_SCHLAF IODev KNXNetwork
attr ROLL_SCHLAF alias Rollade Schlafzimmer
attr ROLL_SCHLAF devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
attr ROLL_SCHLAF room Schlafzimmer
attr ROLL_SCHLAF webCmd Unten:Oben:Stop


eventMap ist für das Device gelöscht und taucht auch nicht mehr in der fhem.cfg auf. Also neu anlegen:


root@fhem_master:/opt/fhem# telnet localhost 7072
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

fhem> attr ROLL_SCHLAF eventMap /g2 on:Stop/off:Oben/on:Unten/
fhem> save ?
No structural changes.
fhem> save
Wrote configuration to fhem.cfg
fhem> list ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 13:54:15   setG1           off
     2017-04-06 13:54:15   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   /g2 on:Stop/off:Oben/on:Unten/
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop

fhem> quit
Bye...
Connection closed by foreign host.

root@fhem_master:/opt/fhem# grep ROLL_SCHLAF fhem.cfg
define ROLL_SCHLAF KNX 1/1/0:dpt1 1/1/1:dpt1
attr ROLL_SCHLAF userattr room_map structexclude
attr ROLL_SCHLAF IODev KNXNetwork
attr ROLL_SCHLAF alias Rollade Schlafzimmer
attr ROLL_SCHLAF devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
attr ROLL_SCHLAF eventMap /g2 on:Stop/off:Oben/on:Unten/
attr ROLL_SCHLAF room Schlafzimmer
attr ROLL_SCHLAF webCmd Unten:Oben:Stop


In den Attributen des Device taucht die eventMap wieder auf, in der fhem.cfg ist sie auch vorhanden. Interessant ist das "save ?" die Änderung nicht anzeigt (hätte ich nach der Erfahrung mit deleteattr weiter oben erwartet). Anyway - Neustart fhem erzwingen:


root@fhem_master:/opt/fhem# telnet localhost 7072
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
shutdown restart
Connection closed by foreign host.

root@fhem_master:/opt/fhem# telnet localhost 7072
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

fhem> list ROLL_SCHLAF
Internals:
   CFGFN      /opt/fhem/fhem.cfg
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         50
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 13:59:39   setG1           off
     2017-04-06 13:59:39   state           off
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   off:Oben on:Unten
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop


Und wieder weg :(

Zitat von: rudolfkoenig
Ich wuerde, wenn das Problem auftaucht, mit "save ?" pruefen, ob das "offiziell" per attr bzw. CommandAttr() erzeugt wurde, oder inoffiziell per "$attr{ROLL_SCHLAF}{eventMap} = ...;". Je nach Ergebnis muss man dann weitersuchen. Beabsichtigt ist sowas definitiv nicht.

Den Hinweis verstehe ich leider nicht, ich fürchte dafür dazu reichen meine internen Kenntnisse nicht aus :( Ich habe das attr-Kommando via telnet verwendet, es macht übrigens auch keinen Unterschied wenn ich das Default-Webinterface verwenden, das Ergebnis ist das selbe. FHEM ist übrigens auf dem letzten Stand !

Grüße - Michael
3x FHEM (via FHEM2FHEM, EIB/KNX, Sonoff mit Tasmota, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung

rudolfkoenig

ZitatInteressant ist das "save ?" die Änderung nicht anzeigt (hätte ich nach der Erfahrung mit deleteattr weiter oben erwartet)

Das ist ein Bug, habs gefixt und eingecheckt. Verfuegbar morgen per FHEM-update oder ab sofort ueber svn.fhem.de
Dein Problem kann ich trotzdem nicht nachstellen, selbst wenn ich ein KNX Geraet anlege.

Soweit ich es sehe, setzen die Module RESIDENTS, GUEST, ROOMMATE und msgConfig eventMap direkt. verwendest du eins von diesen?
Wenn nicht, dann bitte FHEM mit verbose 5 starten, und nach "Cmd: >attr" suchen.

Michael P.

Hi Rudolf,

Zitat von: rudolfkoenig
Dein Problem kann ich trotzdem nicht nachstellen, selbst wenn ich ein KNX Geraet anlege.

Okay, mittels experimentieren bin ich schon etwas weiter gekommen. Um die fhem.cfg etwas übersichtlicher zu gestalten, habe ich einige Elemente ausgelagert und in diesem Fall per "include /opt/fhem/rolladen.cfg" mit eingebunden. In den Logs oben habe ich das händisch korrigiert um niemanden zu verwirren - ein Fehler offensichtlich. Seitdem ich das Device ROLL_SCHLAF nicht mehr in einem per "include" benutzen File sondern in der fhem.cfg direkt angelegt habe verschwindet der Parameter nicht mehr !

Spannenderweise funktioniert er aber jetzt nicht mehr:


fhem> list ROLL_SCHLAF
Internals:
   DEF        1/1/0:dpt1 1/1/1:dpt1
   DEVNAME    ROLL_SCHLAF
   IODev      KNXNetwork
   NAME       ROLL_SCHLAF
   NR         605
   NTFY_ORDER 50-ROLL_SCHLAF
   STATE      Oben
   TYPE       KNX
   Gaddr:
     1          1/1/0
     2          1/1/1
   Gcode:
     1          1100
     2          1101
   Model:
     1          dpt1
     2          dpt1
   Readings:
     2017-04-06 15:40:41   setG1           off
     2017-04-06 15:40:41   state           off
   Readingsname:
Attributes:
   IODev      KNXNetwork
   alias      Rollade Schlafzimmer
   devStateIcon Unten:fts_shutter_100 Oben:fts_shutter_10 Stop:fts_shutter_50
   eventMap   /g2 on:Stop/off:Oben/on:Unten/
   room       Schlafzimmer
   userattr   room_map structexclude
   webCmd     Unten:Oben:Stop

fhem> set ROLL_SCHLAF Unten
fhem> set ROLL_SCHLAF Oben
fhem> set ROLL_SCHLAF Stop
Unknown argument g2, choose one of rgb:colorpicker on-until on off on-for-timer raw string value


Darf ich Device-Definitionen nicht in include-Dateien packen ? Ich habe auch mal mit der Reihenfolge der Definitionen in der EventMap experimentiert, das Ergebnis ist immer dasselbe.

Danke für Deine/Eure Geduld :-) Achja, von den angesprochenen Modulen nutze ich keines.

Grüße - Michael


3x FHEM (via FHEM2FHEM, EIB/KNX, Sonoff mit Tasmota, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung

rudolfkoenig

#7
ZitateventMap   /g2 on:Stop/off:Oben/on:Unten/
Ich habe von KNX keine Ahnung, aber das hiess vorher noch "on g2" und nicht "g2 on".

ZitatDarf ich Device-Definitionen nicht in include-Dateien packen ?
Von mir aus gerne, fhem.cfg und log/fhem.save wird auch per "include" reingelesen.
Du darfst dich bloss nicht beschweren, dass das "save" manche Zeilen nicht dahin packt, wo du das gerne haettest.

P.S. da ich on und off sehe: schlag mal dem KNX Maintainer vor, dass er SetExtensions integriert. Sind fuer ihn nur wenige Zeilen Aenderung (im Gluecksfall nur 2), und man kriegt ein paar Befehle wie on-till, blink, intervals, etc.

Michael P.

Moin moin

Zitat von: rudolfkoenig am 06 April 2017, 16:35:09
Ich habe von KNX keine Ahnung, aber das hiess vorher noch "on g2" und nicht "g2 on".

*vordenKopfklatsch* Ähm, ja, hast recht ... Wald ... Bäume ... da war was, einfach zu viele Änderungen an einem Tag. Danke, jetzt geht's !

Zitat von: rudolfkoenig
Von mir aus gerne, fhem.cfg und log/fhem.save wird auch per "include" reingelesen.
Du darfst dich bloss nicht beschweren, dass das "save" manche Zeilen nicht dahin packt, wo du das gerne haettest.

Spannenderweise scheint eventMap ohne Probleme zu funktionieren, wenn ich es direkt in die fhem.cfg packe, via include und externer Datei geht es bei mir nicht. Und fhem ist tatsächlich so schlau, die Änderungen per Kommandozeile bzw WebInterface in die richtige Include-Datei zu schreiben (sehr gut!). Aber trotzdem geht dann beim einlesen etwas verloren, ich spiele am Wochenende mal mit einem "leeren" fhem rum, ich möchte nicht ausschließen das ich einen Fehler mache!

Zitat von: rudolfkoenig
P.S. da ich on und off sehe: schlag mal dem KNX Maintainer vor, dass er SetExtensions integriert. Sind fuer ihn nur wenige Zeilen Aenderung (im Gluecksfall nur 2), und man kriegt ein paar Befehle wie on-till, blink, intervals, etc.

Ich werde es mal weiterreichen :-)

Grüße - Michael
3x FHEM (via FHEM2FHEM, EIB/KNX, Sonoff mit Tasmota, diverse ESP8266 zur Temperatur/Feuchtigkeits/Poolwasserdurchflussüberwachung

fireball

Hi,

hab gerade diesen Fred hier gefunden...
Ich habe aktuell genau das gleiche Problem:

Seit einem Restart und Update funktioniert das eventMap nicht mehr, es hat eindeutig mehrere Tage funktioniert...

Internals:
   CHANGED   
   FUUID      5df64707-f33f-0804-2126-7077c610c7b47af7
   NAME       Rollladen_EG_WZ_T
   NR         453
   STATE      18
   TYPE       dummy
   READINGS:
     2020-01-01 21:35:27   Link_im_HomeTouch wlss97
     2020-01-01 21:35:27   Name_im_HomeTouch Terrasse
     2020-01-01 21:35:27   OpenLevel       18
     2020-01-01 21:35:27   Raum_im_HomeTouch 17_WZ
     2020-01-01 21:35:27   state           zu
Attributes:
   alexaName  Rolladen Terrasse
   alexaRoom  Wohnzimmer
   devStateIcon 100:fts_shutter_10 1\d.*:fts_shutter_90 2\d.*:fts_shutter_80 3\d.*:fts_shutter_70 4\d.*:fts_shutter_60 5\d.*:fts_shutter_50 6\d.*:fts_shutter_40 7\d.*:fts_shutter_30 8\d.*:fts_shutter_20 9\d.*:fts_shutter_10 \d.*:fts_shutter_100
   event-on-change-reading OpenLevel
   eventMap   auf:0 zu:1 stop:2
   genericDeviceType switch
   homebridgeMapping On=state,cmdOn=1,cmdOff=0
   icon       fts_shutter
   room       ALEXA,FENSTER_TÜREN
   stateFormat OpenLevel
   userReadings Name_im_HomeTouch {ReadingsVal("HomeTouch","Taster_WiserName-12",0)}, Link_im_HomeTouch {ReadingsVal("HomeTouch","Taster_WiserLink-12",0)}, Raum_im_HomeTouch {ReadingsVal("HomeTouch","Taster_WiserRoom-12",0)}, OpenLevel {ReadingsVal("HomeTouch","Taster_OpenLevel-12",0)},
   verbose    5
   webCmd     auf:zu:stop


Trotz eventMap, kann ich in FHEMWEB auf zu stop drücken, aber es wird nicht zu 0 1 oder 2 umgewandelt... bei allen Dummys nicht...
Hat jemand ne Erklärung?
VG

rudolfkoenig

Zitathab gerade diesen Fred hier gefunden...
Muessen wir jetzt wg. Umweltschutz auch Themen recyclen?

ZitatSeit einem Restart und Update funktioniert das eventMap nicht mehr, es hat eindeutig mehrere Tage funktioniert...
Ich schiebe das auf "event-on-change-reading OpenLevel", nix mit update oder Restart.
Wuesste gerne, warum alle so sehr auf diesen event-on-* Kram stehen.

fireball

Hi Rudolf, ja, das mit dem recyceln kommt echt daher, dass ich schon mal in nem anderen Forum genau deswegen angemault wurde, dass permant neue Fred's zum selben Thema aufgemacht wurden.

Danke für deinen Hinweis, ich habs gelöscht und es funktioniert wieder.

Ich würde gern das Reading OpenLevel, welches ich aus einem HTTPMOD Modul ziehe, genau aktuell haben wie es dort ist und ich dachte das bekomme ich mit dem attr hin.

Kannst du mir noch verraten wie ich das lösen kann? Sobald sich das OpenLevel in HTTPMOD ändert, soll das userreading in meinem Dummy sich auch anpassen.

VG Rene

justme1968

das geht so überhaupt nicht weil user readings nur durch events aus dem gleichen device aktualisiert werden.

nimm einen readingsProxy statt dem dummy oder nimm ein notify zum aktualisieren.

aber warum willst du überhaupt readings aus seinem device in ein anderes kopieren. das ist so gut wie immer unnötig und der falsche ansatz.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

fireball

Hi justme,

Ich denke ich hab da noch ein Defizit, genauso wie viele andere. Das Problem finde ich immer wieder, aber auch immer wieder die Antwort... Es wäre ser falsche Weg.

Hier ist die eigentlich Beschreibung was ich gemacht habe und was ich probiert habe.
https://forum.fhem.de/index.php/topic,106361.msg1007517.html#msg1007517

Readingproxy hab ich versucht zu testen. Ergebnis, wenn ich es benutze wie meinen Dummy, kann ich nix schalten. Es kommt immer ein Fehler. Siehe andere Post.
ich kann in einem proxy auch immer nur ein Reading referenzieren.
Und das schalten und übergeben von 2 Parametern in setFn für mein auszuführendes Script bleibt weiterhin ein Geheimnis für mich.

Wenn ihr da Starthilfe hättet (im anderen Fred) wäre toll.

VG Rene