Fhem2Fhem setreading Problem

Begonnen von Amenophis86, 26 Juli 2017, 20:15:54

Vorheriges Thema - Nächstes Thema

Amenophis86

Ich habe heute Fhem2Fhem eingerichtet und bekomme ständig einen setreading Fehler. Ich erkenne zwar was das Problem ist, aber kann nicht nachvollziehen woran es liegt. Hier der Stand der Dinge:

1. Remote hat das Device KL.Abfall.Ansicht_r:
Internals:
   DEF        KL.Abfall_r
   KALENDER   KL.Abfall_r
   NAME       KL.Abfall.Ansicht_r
   NR         21
   NTFY_ORDER 50-Abfall
   STATE      2
   TYPE       ABFALL
   READINGS:
     2017-07-26 20:07:28   KLAbfall_r_EFBAltpapier_datum 09.08.17
     2017-07-26 20:07:28   KLAbfall_r_EFBAltpapier_tage 14
     2017-07-26 20:07:28   KLAbfall_r_EFBAltpapier_text   EFB Altpapier
     2017-07-26 20:07:28   KLAbfall_r_EFBAltpapier_wochentag Mittwoch
     2017-07-26 20:07:28   KLAbfall_r_EFBBioabfall_datum 28.07.17
     2017-07-26 20:07:28   KLAbfall_r_EFBBioabfall_tage 2
     2017-07-26 20:07:28   KLAbfall_r_EFBBioabfall_text   EFB Bioabfall
     2017-07-26 20:07:28   KLAbfall_r_EFBBioabfall_wochentag Freitag
     2017-07-26 20:07:28   KLAbfall_r_EFBGelberSack_datum 28.07.17
     2017-07-26 20:07:28   KLAbfall_r_EFBGelberSack_tage 2
     2017-07-26 20:07:28   KLAbfall_r_EFBGelberSack_text   EFB Gelber Sack
     2017-07-26 20:07:28   KLAbfall_r_EFBGelberSack_wochentag Freitag
     2017-07-26 20:07:28   KLAbfall_r_EFBRestabfall_datum 26.07.17
     2017-07-26 20:07:28   KLAbfall_r_EFBRestabfall_tage 0
     2017-07-26 20:07:28   KLAbfall_r_EFBRestabfall_text   EFB Restabfall
     2017-07-26 20:07:28   KLAbfall_r_EFBRestabfall_wochentag Mittwoch
     2017-07-26 20:07:28   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_datum 05.09.17
     2017-07-26 20:07:28   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_tage 41
     2017-07-26 20:07:28   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_text   EFB Schadstoffmobil im Abfuhrbezirk
     2017-07-26 20:07:28   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_wochentag Dienstag
     2017-07-26 20:07:28   next            KLAbfall_r_EFBGelberSack|KLAbfall_r_EFBBioabfall_2
     2017-07-26 20:07:28   next_datum      28.07.17
     2017-07-26 20:07:28   next_tage       2
     2017-07-26 20:07:28   next_text         EFB Gelber Sack und   EFB Bioabfall
     2017-07-26 20:07:28   next_wochentag  Freitag
     2017-07-26 20:07:28   now             KLAbfall_r_EFBRestabfall
     2017-07-26 20:07:28   now_datum       26.07.17
     2017-07-26 20:07:28   now_text          EFB Restabfall
     2017-07-26 20:07:28   now_wochentag   Mittwoch
     2017-07-26 20:07:28   state           2
Attributes:
   group      Abfall,Kalender
   room       Z_Externe
   verbose    3


2. Local hat einen Dummy KL.Abfall.Ansicht:
Internals:
   CFGFN
   NAME       KL.Abfall.Ansicht
   NR         4928
   STATE      In 2 Tagen EFB Bioabfall und   EFB Gelber Sack
   TYPE       dummy
   READINGS:
     2017-07-26 20:14:59   KLAbfall_r_EFBAltpapier_datum 09.08.17
     2017-07-26 20:14:59   KLAbfall_r_EFBAltpapier_tage 14
     2017-07-26 20:14:59   KLAbfall_r_EFBAltpapier_text EFB Altpapier
     2017-07-26 20:14:59   KLAbfall_r_EFBAltpapier_wochentag Mittwoch
     2017-07-26 20:14:58   KLAbfall_r_EFBBioabfall_datum 28.07.17
     2017-07-26 20:14:58   KLAbfall_r_EFBBioabfall_tage 2
     2017-07-26 20:14:58   KLAbfall_r_EFBBioabfall_text EFB Bioabfall
     2017-07-26 20:14:58   KLAbfall_r_EFBBioabfall_wochentag Freitag
     2017-07-26 20:14:59   KLAbfall_r_EFBGelberSack_datum 28.07.17
     2017-07-26 20:14:58   KLAbfall_r_EFBGelberSack_tage 2
     2017-07-26 20:14:59   KLAbfall_r_EFBGelberSack_text EFB Gelber Sack
     2017-07-26 20:14:59   KLAbfall_r_EFBGelberSack_wochentag Freitag
     2017-07-26 20:14:58   KLAbfall_r_EFBRestabfall_datum 26.07.17
     2017-07-26 20:14:58   KLAbfall_r_EFBRestabfall_tage 0
     2017-07-26 20:14:58   KLAbfall_r_EFBRestabfall_text EFB Restabfall
     2017-07-26 20:14:58   KLAbfall_r_EFBRestabfall_wochentag Mittwoch
     2017-07-26 20:14:59   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_datum 05.09.17
     2017-07-26 20:14:59   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_tage 41
     2017-07-26 20:14:59   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_text EFB Schadstoffmobil im Abfuhrbezirk
     2017-07-26 20:14:59   KLAbfall_r_EFBSchadstoffmobilimAbfuhrbezirk_wochentag Dienstag
     2017-07-26 20:14:59   next            KLAbfall_r_EFBBioabfall|KLAbfall_r_EFBGelberSack_2
     2017-07-26 20:15:00   next_datum      28.07.17
     2017-07-26 20:15:00   next_tage       2
     2017-07-26 20:15:00   next_text       EFB Bioabfall und   EFB Gelber Sack
     2017-07-26 20:15:00   next_wochentag  Freitag
     2017-07-26 20:14:59   now             KLAbfall_r_EFBRestabfall
     2017-07-26 20:14:59   now_datum       26.07.17
     2017-07-26 20:14:59   now_text        EFB Restabfall
     2017-07-26 20:14:59   now_wochentag   Mittwoch
     2017-07-26 20:15:00   state           In 2 Tagen EFB Bioabfall und   EFB Gelber Sack
Attributes:
   group      Kalender


3. Und ein notify um den Dummy zu befüllen NO.KL.Abfall.Ansicht:
Internals:
   CFGFN
   DEF        KL.Abfall.Ansicht_r {$EVENT=~s/://;; fhem("setreading KL.Abfall.Ansicht $EVENT");; my $tag = ReadingsVal("KL.Abfall.Ansicht","next_tage","error");; my $text = ReadingsVal("KL.Abfall.Ansicht","next_text","error");; fhem("setreading KL.Abfall.Ansicht state In $tag Tagen $text");;}
   NAME       NO.KL.Abfall.Ansicht
   NR         4591
   NTFY_ORDER 50-NO.KL.Abfall.Ansicht
   REGEXP     KL.Abfall.Ansicht_r
   STATE      active
   TYPE       notify
   READINGS:
     2017-07-26 20:07:48   state           active
Attributes:
   group      Kalender
   room       Z_Notify
   verbose    3


Nun bekomme ich immer folgenden Fehler im Log:
2017.07.26 20:07:30 3: setreading KL.Abfall.Ansicht 2 : Usage: setreading <name> <reading> <value>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.


Das Problem ist wohl, dass beim Reading "state" von KL.Abfall.Ansicht_r das state entfernt wird und somit in "$EVENT" nur noch die 2 drinnen steckt. Damit ist der Befehle "setreading KL.Abfall.Ansicht 2" und nicht "setreading KL.Abfall.Ansicht state 2". Aber wieso wird state entfernt?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Otto123

Hi,

ich habe keine Antwort auf Deine Frage. Aber ich habe letztens gelernt, wenn Du einen dummy mit gleichen Namen hast wie im Remote System wird per F2F alles einfach in den dummy kopiert.

Ob das Dein Problem löst weiß ich nicht, aber wenn ist es einfacher als Dein Konstrukt.

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

Amenophis86

Schau an, hab es nach dem Wiki gemacht, da stand es so. Hast du dann das Problem mit den zwei : bei der Variante?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Otto123

#3
Keine Ahnung, ich habe es nur mit presence devices gemacht. Hatte da vorher auch ein kompliziertes Konstrukt mit notify. Und früher nahm man dafür clonedummy, hatte dann mal gelesen braucht man nicht mehr.


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

Amenophis86

Werde es später mal testen, dank dir für die Info. Frage mich allerdings immer noch, wieso das state verschluckt wird :D am $EVENT=~s/://;; dürfte es ja eigentlich nicht liegen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Ich nehme für sowas komplettes immer cloneDummy. Ausser das state werden alle Readings kopiert. Ohne weiteres zu tun.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Hätte mir clonedummy genauer anschauen sollte undvdas Wiki muss ich wohl auch mal überarbeiten und drauf hinweisen, der scheint ja alles automatisch zu machen. Werde es später mal versuchen, danke.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

rudolfkoenig

ZitatAber wieso wird state entfernt?
Damit "lamp on" nicht als "lamp state on" ankommt.
Es sei denn, man aktiviert beim notify addStateEvent

Zitatwenn Du einen dummy mit gleichen Namen hast wie im Remote System wird per F2F alles einfach in den dummy kopiert.
Um genau zu sein, irgendetwas mit dem gleichen Namen.

CoolTux

Ok kopiert ist bisschen falsch. Für jeden Event der über FHEM2FHEM rüber kommt wird das Reading automatisch in den cloneDummy gesetzt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Danke Rudi, die Erklärung macht Sinn. Danke an den Rest für die Tipps
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

kann es sein, dass das Modul Abfall anders mit dem Reading state umgeht, als die anderen? Nur hier kommt nämlich der Fehler und state wird auch automatisch mit übertragen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Zeig doch mal bitte die Events die ankommen. Also auf der Seite wo Dein cloneDummy oder dummy ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Grinsekatze

Hihi, da lese ich etwas rum, und finde gleich diesen Thread.  :D

Ich optimiere gerade mal wieder meine TV-Schaltung (hab ich an anderer Stelle hier im Forum ja öfters mal behandelt): Ich clone (mittels Notify) ein Device einer zweiten FHEM-Instanz. Mittels eines zweiten Notifys (und RFHEM) kann ich dann das Device über den Dummy des Hauptsystems steuern.

Den von Amenophis86 ursprünglich angesprochenen "Fehler" hatte ich in meiner Konfiguration zunähst auch. Da es bei mir aber nur "on" und "off" als state gibt, habe ich in meinem Notify zum befüllen des Dummys eine Bedingung eingefügt: "unless (($EVENT eq "on") | ($EVENT eq "off")) { [...] }". So konnte ich den Fehler unterdrücken.

Das ist leider alles ziemlich umständlich (und ohne ein event-on-change) bekomme ich eine endlosschleife der beiden Notifys. Da freut es mich zu lesen, dass ich mir den ersten Notify sparen kann, wenn ich Dummy und Ur-Device gleich benenne (zzt. hat der Dummy ein "_remote" hinter dem Namen).

Das probiere ich heute Abend gleich mal aus :)

Amenophis86

Zitat von: CoolTux am 27 Juli 2017, 05:20:01
Zeig doch mal bitte die Events die ankommen. Also auf der Seite wo Dein cloneDummy oder dummy ist.

2017-07-27 11:05:04 Calendar KL.Abfall retrieved
2017-07-27 11:05:04 Calendar KL.Abfall parsed
2017-07-27 11:05:04 Calendar KL.Abfall lastUpdate: 2017-07-27 11:05:04
2017-07-27 11:05:04 Calendar KL.Abfall nextUpdate: 2017-07-27 12:05:04
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBBioabfall_tage: 1
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBBioabfall_text:   EFB Bioabfall
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBBioabfall_datum: 28.07.17
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBBioabfall_wochentag: Freitag
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBGelberSack_tage: 1
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBGelberSack_text:   EFB Gelber Sack
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBGelberSack_datum: 28.07.17
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBGelberSack_wochentag: Freitag
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBRestabfall_tage: 13
2017-07-27 11:05:04 dummy KL.Abfall.Ansicht KLAbfall_EFBRestabfall_text:   EFB Restabfall
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBRestabfall_datum: 09.08.17
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBRestabfall_wochentag: Mittwoch
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBAltpapier_tage: 13
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBAltpapier_text:   EFB Altpapier
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBAltpapier_datum: 09.08.17
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBAltpapier_wochentag: Mittwoch
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBSchadstoffmobilimAbfuhrbezirk_tage: 40
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBSchadstoffmobilimAbfuhrbezirk_text:   EFB Schadstoffmobil im Abfuhrbezirk
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBSchadstoffmobilimAbfuhrbezirk_datum: 05.09.17
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht KLAbfall_EFBSchadstoffmobilimAbfuhrbezirk_wochentag: Dienstag
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht next: KLAbfall_EFBBioabfall|KLAbfall_EFBGelberSack_1
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht next_tage: 1
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht next_text:   EFB Bioabfall und   EFB Gelber Sack
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht next_datum: 28.07.17
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht next_wochentag: Freitag
2017-07-27 11:05:05 dummy KL.Abfall.Ansicht 1
2017-07-27 11:05:05 Calendar KL.Abfall modeUpcoming: 149182525749muellmaxde;149182525753muellmaxde;149182525751muellmaxde;149182525727muellmaxde;149182525746muellmaxde;149182525710muellmaxde;149182525742muellmaxde;149182525764muellmaxde;149182525744muellmaxde;149182525728muellmaxde;149182525745muellmaxde;149182525760muellmaxde;149182525711muellmaxde;149182525716muellmaxde;149182525766muellmaxde;149182525763muellmaxde;149182525765muellmaxde;149182525712muellmaxde;149182525768muellmaxde;149182525747muellmaxde;149182525754muellmaxde;149182525750muellmaxde;149182525726muellmaxde;149182525743muellmaxde;149182525724muellmaxde;149182525715muellmaxde;149182525759muellmaxde;149182525713muellmaxde;149182525725muellmaxde;149182525761muellmaxde;149182525717muellmaxde;149182525748muellmaxde;149182525762muellmaxde;149182525740muellmaxde;149182525718muellmaxde;149182525752muellmaxde;149182525719muellmaxde;149182525714muellmaxde;14918252579muellmaxde;149182525741muellmaxde
2017-07-27 11:05:05 Calendar KL.Abfall modeEnd: 14918252573muellmaxde;14918252578muellmaxde;149182525730muellmaxde;149182525756muellmaxde;149182525723muellmaxde;14918252576muellmaxde;14918252575muellmaxde;149182525755muellmaxde;149182525739muellmaxde;149182525734muellmaxde;149182525733muellmaxde;149182525767muellmaxde;149182525722muellmaxde;14918252577muellmaxde;149182525720muellmaxde;149182525758muellmaxde;149182525737muellmaxde;149182525721muellmaxde;149182525731muellmaxde;149182525729muellmaxde;14918252571muellmaxde;149182525732muellmaxde;149182525735muellmaxde;14918252574muellmaxde;149182525757muellmaxde;149182525736muellmaxde;14918252572muellmaxde;149182525738muellmaxde
2017-07-27 11:05:05 Calendar KL.Abfall triggered
2017-07-27 11:05:05 Calendar KL.Abfall nextWakeup: 2017-07-27 12:05:04


Interssant ist die Zeile 2017-07-27 11:05:05 dummy KL.Abfall.Ansicht 1 Diese hatte ich bereits zu beginn des Thread gesehen und mich gewundert, wieso hier "state" fehlt. Somit sieht es für mich aus, dass bei diesem Modul das Reading state übertragen wird, aber das Wort "state" rausgefiltert wird. Schaue ich mir andere Devices und die Events an, dann fehlt die komplette state Zeile.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Grinsekatze

#14
Wenn Du F2F benutzt, wie im Wiki beschrieben, dann wird kein state an den Dummy übergeben. Darum ist in den Beispielen im Wiki auch ein eigener State aus den übergebenen Werten zusammengebaut worden.

Ich habe eben mal ausprobiert, Ursprüngliches Device und den "Clone"-Dummy gleich zu benennen. Dann werden alle Readings übergeben, auch der state und ganz ohne einen Notify o.Ä. nutzen zu müssen.

Bei mir funktioniert nun lediglich der RFHEM-Notify nicht mehr (auch nachdem ich dort das zu triggernde Device/Dummy angepasst habe. Keine Ahnung warum.


Warum bei Dir nur die 1 ankommt hat Rudi doch schon geschrieben.