devStateIcon in readingsGroup wird bei TRX nicht per Longpoll aktualisiert

Begonnen von Edde, 21 März 2015, 11:22:49

Vorheriges Thema - Nächstes Thema

Edde

Hallo zusammen,

mir ist heute aufgefallen dass seit meinem letzten Fhem-Update die devStateIcons in der readingsGroup beim Schalten von Schaltsteckdosen über TRX nicht mehr perl Longpoll aktualisiert werden. Meine devStateIcons der EnOcean-Aktoren funktionieren. Ich hab mir deshalb eine Testkonfiguration gebastelt um das Verhalten einzugrenzen. Es sieht so aus als ob die readingsGroup beim Schalten der Aktoren mittels TRX nicht mehr mitbekommt wenn sich was geändert hat.
Anbei ein Auszug aus dem Eventmonitor:
2015-03-21 10:51:05 TRX_LIGHT Steckdose on
2015-03-21 10:51:06 TRX_LIGHT Steckdose off
2015-03-21 10:51:06 EnOcean EnoSwitch block: unlock
2015-03-21 10:51:07 readingsGroup rgTest EnoSwitch.state:
on
2015-03-21 10:51:07 EnOcean EnoSwitch on
2015-03-21 10:51:07 EnOcean EnoSwitch block: unlock
2015-03-21 10:51:07 readingsGroup rgTest EnoSwitch.state:
off
2015-03-21 10:51:07 EnOcean EnoSwitch off

Die Definition der readingsGroup:
define rgTest readingsGroup Steckdose:state EnoSwitch:state
attr rgTest room Test
attr rgTest valueIcon { state => '%devStateIcon' }

Die Definition von TRX_LIGHT:
define Steckdose TRX_LIGHT AB400D G6 light
attr Steckdose IODev TRX_0
attr Steckdose room Test

Die Definition des EnOcean-Aktors:
define EnoSwitch EnOcean XXXXXXXX
attr EnoSwitch IODev TCM310_0
attr EnoSwitch gwCmd switching
attr EnoSwitch room Test
attr EnoSwitch subDef YYYYYYYY
attr EnoSwitch subType gateway
attr EnoSwitch switchMode pushbutton

Und ein Auszug aus dem Log:
2015.03.21 11:07:28 5: Cmd: >set Steckdose on<
2015.03.21 11:07:28 5: TRX_LIGHT_Set() name=Steckdose device_type=AB400D, deviceid=G6 house=71, unit=6 command=on
2015.03.21 11:07:28 5: TRX_LIGHT_Set hexline=0710020047060100
2015.03.21 11:07:28 5: TRX_0 sending 0710020047060100
2015.03.21 11:07:28 5: SW: 0710020047060100
2015.03.21 11:07:28 5: Triggering Steckdose (1 changes)
2015.03.21 11:07:28 5: Notify loop for Steckdose on
2015.03.21 11:07:28 4: 13183:FHEMWEB:192.168.178.31:51047: /fhem?cmd.Steckdose=set%20Steckdose%20on&room=Test&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.03.21 11:07:28 4: HTTP FHEMWEB:192.168.178.31:51047 GET /fhem/images/default/on.png
2015.03.21 11:07:28 5: TRX/RAW: /
2015.03.21 11:07:28 5: TRX: TRX_Read '040201'
2015.03.21 11:07:28 5: TRX_Read END
2015.03.21 11:07:28 5: TRX/RAW: / 
2015.03.21 11:07:28 5: TRX: TRX_Read '0402010000'
2015.03.21 11:07:28 5: TRX_Read rmsg '0402010000'
2015.03.21 11:07:28 5: TRX_Read TRX_data '0402010000'
2015.03.21 11:07:28 5: TRX_Parse() '0402010000'
2015.03.21 11:07:28 5: TRX_0 dispatch 0402010000
2015.03.21 11:07:28 5: TRX_ELSE_Parse() decoding delay=303 hex=0402010000
2015.03.21 11:07:28 5: TRX_ELSE_Parse() 2 hex=0402010000
2015.03.21 11:07:28 5: TRX_ELSE_Parse() num_bytes=4 hex=0402010000 type=2
2015.03.21 11:07:28 5: TRX_Read END
2015.03.21 11:07:29 4: HTTP FHEMWEB:192.168.178.31:51047 GET /fhem?cmd.EnoSwitch=set%20EnoSwitch%20on&room=Test&XHR=1
2015.03.21 11:07:29 5: Cmd: >set EnoSwitch on<
2015.03.21 11:07:29 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch on
2015.03.21 11:07:29 5: Triggering EnoSwitch (1 changes)
2015.03.21 11:07:29 5: Notify loop for EnoSwitch block: unlock
2015.03.21 11:07:29 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch ?
2015.03.21 11:07:29 3: EnOcean set EnoSwitch on
2015.03.21 11:07:29 5: EnOcean EnoSwitch sent PacketType: 1 RORG: A5 DATA: 01000009 SenderID: FFFE7610 STATUS: 00 ODATA:
2015.03.21 11:07:29 5: TCM TCM310_0 sending ESP3: 55000A000180A501000009FFFE761000CC
2015.03.21 11:07:29 5: SW: 55000A000180A501000009FFFE761000CC
2015.03.21 11:07:29 4: 13183:FHEMWEB:192.168.178.31:51047: /fhem?cmd.EnoSwitch=set%20EnoSwitch%20on&room=Test&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 5500010002650000
2015.03.21 11:07:29 5: TCM TCM310_0 RESPONSE: OK
2015.03.21 11:07:29 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch released
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000A
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000A0701EBA501000009FFFE7610
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000A0701EBA501000009FFFE76100103FFFFFFFF
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000A0701EBA501000009FFFE76100103FFFFFFFF5C00B9
2015.03.21 11:07:29 5: TCM310_0 dispatch EnOcean:1:A5:01000009:FFFE7610:01:03FFFFFFFF5C00
2015.03.21 11:07:29 4: EnOcean received EnOcean:1:A5:01000009:FFFE7610:01:03FFFFFFFF5C00
2015.03.21 11:07:29 5: EnOcean received PacketType: 1 RORG: A5 DATA: 01000009 SenderID: FFFE7610 STATUS: 01
2015.03.21 11:07:29 4: EnOcean Unknown device with SenderID FFFE7610 and RORG A5, activate learning mode.
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000707
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000707017AF670XXXXXXXX3106FF
2015.03.21 11:07:29 5: TCM TCM310_0 RAW: 55000707017AF670XXXXXXXX3106FFFFFFFF5B004D
2015.03.21 11:07:29 5: TCM310_0 dispatch EnOcean:1:F6:70:XXXXXXXX:31:06FFFFFFFF5B00
2015.03.21 11:07:29 4: EnOcean received EnOcean:1:F6:70:XXXXXXXX:31:06FFFFFFFF5B00
2015.03.21 11:07:29 5: EnOcean EnoSwitch received PacketType: 1 RORG: F6 DATA: 70 SenderID: XXXXXXXX STATUS: 31
2015.03.21 11:07:29 5: Triggering EnoSwitch (1 changes)
2015.03.21 11:07:29 5: Notify loop for EnoSwitch on
2015.03.21 11:07:29 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch ?
2015.03.21 11:07:29 5: Triggering rgTest (1 changes)
2015.03.21 11:07:29 5: Notify loop for rgTest EnoSwitch.state: <div id="EnoSwitch"  class="col2"><a href="/fhem?cmd.EnoSwitch=set EnoSwitch off&room=TestTest"><img class=' on' src="/fhem/images/default/on.png" alt="on" title="on"></a></div>
2015.03.21 11:07:29 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch ?
2015.03.21 11:07:30 4: HTTP FHEMWEB:192.168.178.31:51047 GET /fhem?cmd.Steckdose=set%20Steckdose%20off&room=Test&XHR=1
2015.03.21 11:07:30 5: Cmd: >set Steckdose off<
2015.03.21 11:07:30 5: TRX_LIGHT_Set() name=Steckdose device_type=AB400D, deviceid=G6 house=71, unit=6 command=off
2015.03.21 11:07:30 5: TRX_LIGHT_Set hexline=0710020047060000
2015.03.21 11:07:30 5: TRX_0 sending 0710020047060000
2015.03.21 11:07:30 5: SW: 0710020047060000
2015.03.21 11:07:30 5: Triggering Steckdose (1 changes)
2015.03.21 11:07:30 5: Notify loop for Steckdose off
2015.03.21 11:07:30 4: 13183:FHEMWEB:192.168.178.31:51047: /fhem?cmd.Steckdose=set%20Steckdose%20off&room=Test&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.03.21 11:07:30 5: TRX/RAW: /
2015.03.21 11:07:30 5: TRX: TRX_Read '040201'
2015.03.21 11:07:30 5: TRX_Read END
2015.03.21 11:07:30 5: TRX/RAW: / 
2015.03.21 11:07:30 5: TRX: TRX_Read '0402010000'
2015.03.21 11:07:30 5: TRX_Read rmsg '0402010000'
2015.03.21 11:07:30 5: TRX_Read TRX_data '0402010000'
2015.03.21 11:07:30 5: TRX_Parse() '0402010000'
2015.03.21 11:07:30 5: TRX_0 dispatch 0402010000
2015.03.21 11:07:30 5: TRX_ELSE_Parse() decoding delay=2 hex=0402010000
2015.03.21 11:07:30 5: TRX_ELSE_Parse() 2 hex=0402010000
2015.03.21 11:07:30 5: TRX_ELSE_Parse() num_bytes=4 hex=0402010000 type=2
2015.03.21 11:07:30 5: TRX_Read END
2015.03.21 11:07:31 4: HTTP FHEMWEB:192.168.178.31:51047 GET /fhem?cmd.EnoSwitch=set%20EnoSwitch%20off&room=Test&XHR=1
2015.03.21 11:07:31 5: Cmd: >set EnoSwitch off<
2015.03.21 11:07:31 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch off
2015.03.21 11:07:31 5: Triggering EnoSwitch (1 changes)
2015.03.21 11:07:31 5: Notify loop for EnoSwitch block: unlock
2015.03.21 11:07:31 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch ?
2015.03.21 11:07:31 3: EnOcean set EnoSwitch off
2015.03.21 11:07:31 5: EnOcean EnoSwitch sent PacketType: 1 RORG: A5 DATA: 01000008 SenderID: FFFE7610 STATUS: 00 ODATA:
2015.03.21 11:07:31 5: TCM TCM310_0 sending ESP3: 55000A000180A501000008FFFE761000E5
2015.03.21 11:07:31 5: SW: 55000A000180A501000008FFFE761000E5
2015.03.21 11:07:31 4: 13183:FHEMWEB:192.168.178.31:51047: /fhem?cmd.EnoSwitch=set%20EnoSwitch%20off&room=Test&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.03.21 11:07:31 5: TCM TCM310_0 RAW: 5500010002650000
2015.03.21 11:07:31 5: TCM TCM310_0 RESPONSE: OK
2015.03.21 11:07:31 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch released
2015.03.21 11:07:31 5: TCM TCM310_0 RAW: 55000A0701EB
2015.03.21 11:07:31 5: TCM TCM310_0 RAW: 55000A0701EBA501000008FFFE76100103
2015.03.21 11:07:31 5: TCM TCM310_0 RAW: 55000A0701EBA501000008FFFE76100103FFFFFFFF5C002D
2015.03.21 11:07:31 5: TCM310_0 dispatch EnOcean:1:A5:01000008:FFFE7610:01:03FFFFFFFF5C00
2015.03.21 11:07:31 4: EnOcean received EnOcean:1:A5:01000008:FFFE7610:01:03FFFFFFFF5C00
2015.03.21 11:07:31 5: EnOcean received PacketType: 1 RORG: A5 DATA: 01000008 SenderID: FFFE7610 STATUS: 01
2015.03.21 11:07:31 4: EnOcean Unknown device with SenderID FFFE7610 and RORG A5, activate learning mode.
2015.03.21 11:07:32 5: TCM TCM310_0 RAW: 55
2015.03.21 11:07:32 5: TCM TCM310_0 RAW: 55000707017AF650XXXXXXXX30
2015.03.21 11:07:32 5: TCM TCM310_0 RAW: 55000707017AF650XXXXXXXX3006FFFFFFFF5B00A0
2015.03.21 11:07:32 5: TCM310_0 dispatch EnOcean:1:F6:50:XXXXXXXX:30:06FFFFFFFF5B00
2015.03.21 11:07:32 4: EnOcean received EnOcean:1:F6:50:XXXXXXXX:30:06FFFFFFFF5B00
2015.03.21 11:07:32 5: EnOcean EnoSwitch received PacketType: 1 RORG: F6 DATA: 50 SenderID: XXXXXXXX STATUS: 30
2015.03.21 11:07:32 5: Triggering EnoSwitch (1 changes)
2015.03.21 11:07:32 5: Notify loop for EnoSwitch off
2015.03.21 11:07:32 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch ?
2015.03.21 11:07:32 5: Triggering rgTest (1 changes)
2015.03.21 11:07:32 5: Notify loop for rgTest EnoSwitch.state: <div id="EnoSwitch"  class="col2"><a href="/fhem?cmd.EnoSwitch=set EnoSwitch on&room=TestTest"><img class=' off' src="/fhem/images/default/off.png" alt="off" title="off"></a></div>
2015.03.21 11:07:32 5: EnOcean EnoSwitch EnOcean_Set command: EnoSwitch ?


Ich kann mir aber durchaus vorstellen das in der Konfiguration noch was übersehen habe. Hat jemand eine Idee oder ein ähnliches Verhalten bemerkt?

Gruß,
Edde

Edde

Hallo zusammen,

ich hab das Problem jetzt für mich lokal erst mal gelöst.


define nt_TRX notify Steckdose:.* setreading $NAME state $EVENT


Ergebnis im Event-Monitor ist:

2015-03-24 16:43:59 readingsGroup rgTest Steckdose.state: on
2015-03-24 16:43:59 TRX_LIGHT Steckdose on
2015-03-24 16:43:59 TRX_LIGHT Steckdose on
2015-03-24 16:44:00 readingsGroup rgTest Steckdose.state: off
2015-03-24 16:44:00 TRX_LIGHT Steckdose off
2015-03-24 16:44:00 TRX_LIGHT Steckdose off


Vielleicht hat ja jemand ne Idee woher das Problem kommen könnte.

Gruß,
Edde

justme1968

mit den geräten die ich habe kann ich das verhalten nicht reproduzieren. die readingsGroup hängt an den gleichen events die du im event monitor siehst. und die sehen identisch aus.

funktioniert der update des icons für das device Steckdose ? d.h. ist das icon in der raum übersicht korrekt ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Edde

Mit dem zusätzlichen notify funktioniert jetzt alles wie gewünscht. Vorher konnte ich nur durch einen Refresh die Änderung der Icon's in der ReadingsGroup sehen. Das war sowohl im Floorplan als auch in Fhemweb so. Die reine Anzeige außerhalb der ReadingsGroup hat immer funktioniert.
Es kam mir so vor als ob das erste Event nicht registriert wird....

Gruß,
Edde

TecCheck

Hallo,
ich habe dasselbe Problem.
Der Status meiner TRX devices wird in Readingsgroup nicht per Longpoll aktualisiert. (Bild 1)
Bei klick auf on oder off  schalten die Aktoren, der Status wird jedoch in der Readingsgroup nicht aktualisiert.
In FhemWeb und im Floorplan wird der Status sofort aktualisiert

Dieselbe definition,nur der Gerätetyp  ist FS20: alles klappt wie vorgesehen. (Bild 2)



Definition Readingsgroup mit TRX Devices

DEF      au_BalkonS2:state,<on>,<off> wg_Brunnen:state,<on>,<off> wo_TV:state,<on>,<off>

Attribute

commands     { 'rg_Test_TRX.on' => 'set $DEVICE on', 'rg_Test_TRX.off' => 'set $DEVICE off'}

Mit folgendem notify (Gute Idee von Edde) ist die Statusänderung auch in der Readingsgroup sofort sichtbar.
notify:

DEF      au_BalkonS2:.* setreading $NAME state $EVENT 

Solange ich mir mit dem notify behelfen muss:
Gibt es eine Möglichkeit alle TRX-Geräte in einem Notify zusammenzufassen?
(so in etwa TYPE=TRX_light)   genau das fuktioniert natürlich nicht.
So ungefähr 20 notify's für diesen Zweck sind mir etwas viel. ;D

hier noch die Definition der Readingsgroup mit FS20 Device die funktioniert:
DEF      Dig_Bilderrahmen:state,<on>,<off>
 


Bin da echt ratlos. . .

Vielleicht sieht ja jemand einen Fehler


Grüße
Wolfgang
Intel NUC mit Ubuntu als FHEM-Server,
CUL  868, RFXTRX 433, Jeelink-PCA,ZWDongle, HMLan
Aktivlautsprecher über LineIn und Display per HDMI am NUC,
diverse FS20 und Intertechno - Komponenten, Oregon Temp-Hum-Sensoren, HomeMatic, PCA301, KS300,Sonos, ZWave, Alexa,Echo's