HBWired structure über mehrere Dimmer funktioniert nur bis Neustart

Begonnen von Shortie, 04 Februar 2020, 20:21:11

Vorheriges Thema - Nächstes Thema

Shortie

Hallo zusammen,

ich habe aktuell ein Problem mit folgendem Aufbau das anscheinend mit dem Timing zusammenhängt wann Geräte erstellt werden bzw fertig initialisiert sind.

Ausgangssituation:
* 4 Dimmer basierend auf HBWired
* Eine structure in fhem das diese 4 Dimmer zusammenfasst um sie gemeinsam steuern zu können

Die HBWired Devices brauchen nach einem fhem Neustart einige Sekunden bis sie vollständig einsatzbereit sind. Im Log ist dabei z.B. so etwas zu sehen:

2020.02.04 20:05:52 3: Device_Wohnzimmer_Dimmer_Tuer: Request config for device 42000108
2020.02.04 20:05:52 3: Device_Wohnzimmer_Dimmer_Tuer: Lese Eeprom 42000108

Bis dieser Eintrag im Log auftaucht ist auch im Device selbst in fhem bei set/get in den Dropdowns recht wenig zu sehen (config, peerlist, state). Nachdem Logeintrag (und damit der vollständigen Initialisierung) sind dann alle Keys in den set/get Dropdowns vorhanden.

Wenn ich die structure per Hand anlege, nachdem die 4 Dimmer erfolgreich von fhem initialisiert wurden, funktioniert sie wie gewünscht. Ich habe auch in der structure im set/get alle nötigen Möglichkeiten. Ich bekomme einen Slider angezeigt um alle 4 Dimmer gemeinsam zu steuern, ...

Wenn die structure direkt beim starten aus der fhem.cfg angelegt wird sind die Dimmer in diesem Moment noch nicht fertig initialisiert. In der structure selbst habe ich dann nur unter set die Auswahl für config, restoreStructState und saveStructState. Ich vermute das es daran liegt das die structure durch die fhem.cfg bereits erstellt wird bevor die Dimmer mit der Initialisierung fertig sind.

Die structure steht auch am Ende der fhem.cfg und wird nach den Dimmern definiert, das habe ich bereits geprüft.

Hat jemand eine Idee/Vorschlag was ich hier tun könnte?

Thorsten Pferdekaemper

Hi,
ich habe auch HMW-Geräte in einer structure und noch nicht mit solchen Problemen zu kämpfen gehabt. (Auch nicht bei meinem halbjährlichen oder so Restart...)
Könntest Du mal die Definition Deiner structure hier reinstellen?
Gruß,
   Thorsten

FUIP

Shortie

Hi Thorsten,

gerne:


define Structure_Wohnzimmer_Licht structure Licht Device_Wohnzimmer_Dimmer_Tuer_01 Device_Wohnzimmer_Dimmer_Fenster_02 Device_Wohnzimmer_Dimmer_Fenster_01 Device_Wohnzimmer_Dimmer_Tuer_02
setuuid Structure_Wohnzimmer_Licht 5e39addf-f33f-6029-f051-37214ca9254e910e
attr Structure_Wohnzimmer_Licht alias Alle
attr Structure_Wohnzimmer_Licht group Licht
attr Structure_Wohnzimmer_Licht room Wohnzimmer
attr Structure_Wohnzimmer_Licht stateFormat  ;
attr Structure_Wohnzimmer_Licht userReadings level { ( ReadingsVal("Device_Wohnzimmer_Dimmer_Fenster_01", "level", 0) + ReadingsVal("Device_Wohnzimmer_Dimmer_Fenster_02", "level", 0) + ReadingsVal("Device_Wohnzimmer_Dimmer_Tuer_01", "level", 0) + ReadingsVal("Device_Wohnzimmer_Dimmer_Tuer_02", "level", 0) ) / 4;; }
attr Structure_Wohnzimmer_Licht webCmd level


Das Problem tritt auch ohne stateFormat, userReadings und webCmd auf. In der kompletten structure sind sie aber drin, daher hier auch komplett.
Eine weitere structure, die genauso aufgebaut ist, für 3 Gurtwickler funktioniert übrigens problemlos. Die Gurtwickler sind allerdings über DuoFern angebunden.

Shortie

Ich habe gerade nochmal einen vereinfachten Test mit 2 Steckdosen (laufen beide über das selbe Device, nur jeweils ein anderer Channel) getestet. Auch hier tritt das Problem genauso auf.

Definition der structure:

define structureSteckdosenTest structure SteckdosenTest Wohnzimmer_Steckdose_1 Wohnzimmer_Steckdose_2
setuuid structureSteckdosenTest 5e3c5075-f33f-6029-0a4d-ff19c91d86632000

Thorsten Pferdekaemper

Hi,
sehr seltsam. Ich mache auch so etwas, hatte aber die Probleme wirklich nie. Bei mir sieht das so aus:

defmod dg_shutters structure dg_shutters dg_sz_Rollladen dg_wz_Rollladen dg_bu_Rollladen dg_ku_Rollladen
attr dg_shutters async_delay 1
attr dg_shutters clientstate_behavior last
attr dg_shutters room dg_Flur

...und nach einem Neustart dauert es bei mir mindestens 5 Minuten, bis alle HMW-Teile vollständig da sind.
Bleibt die structure bei Dir wirklich fehlerhaft oder heilt sich das dann irgendwann?
Gruß,
   Thorsten
FUIP

Shortie

Hi Thorsten,

Sie bleibt fehlerhaft. Die Dimmer structure war vom letzten Testneustart gestern Abend weiterhin fehlerhaft und die Steckdosen Test struct ist bald bei einer Stunde und auch weiterhin fehlerhaft.

Gruß

Shortie

Ich habe nochmal etwas weiter getestet. Auf der kaputten structure lassen sich per set weiterhin Befehle absetzen, mit "set  Structure_Wohnzimmer_Licht level 20" funktioniert z.B. auch das Dimmen.

Wenn ich ein ungültiges argument nutze z.B. mit "set Structure_Wohnzimmer_Licht test on" bekomme ich diese Ausgabe. Ist es normal das hier zwischen peer und href das <a fehlt? Ab Device_Wohnzimmer_Lichtschalter_03 sind das dann auch jeweils klickbare Links.



set Structure_Wohnzimmer_Licht test on
Unknown argument test, choose one of  config inhibit install_test level off on peer href='/fhem?detail=Device_Wohnzimmer_Lichtschalter_02'>Device_Wohnzimmer_Lichtschalter_02,Device_Wohnzimmer_Lichtschalter_03,Device_Wohnzimmer_Lichtschalter_04,Device_Wohnzimmer_Lichtschalter_05,Device_Wohnzimmer_Lichtschalter_06,Device_Wohnzimmer_Lichtschalter_07,Device_Wohnzimmer_Lichtschalter_08,Device_Wohnzimmer_Lichtschalter_09,Device_Wohnzimmer_Lichtschalter_10,Device_Wohnzimmer_Lichtschalter_11,Device_Wohnzimmer_Lichtschalter_12,HBW_Sen_Key_12_HBW7296769_01,HBW_Sen_Key_12_HBW7296769_02,HBW_Sen_Key_12_HBW7296769_03,HBW_Sen_Key_12_HBW7296769_04,HBW_Sen_Key_12_HBW7296769_05,HBW_Sen_Key_12_HBW7296769_06,HBW_Sen_Key_12_HBW7296769_07,HBW_Sen_Key_12_HBW7296769_08,HBW_Sen_Key_12_HBW7296769_09,HBW_Sen_Key_12_HBW7296769_10,HBW_Sen_Key_12_HBW7296769_11,HBW_Sen_Key_12_HBW7296769_12 peeringdetails unpeer href='/fhem?detail=Wohnzimmer_Lichtschalter'>Wohnzimmer_Lichtschalter  off-for-timer on-for-timer on-till on-till-overnight blink off-till-overnight intervals off-till
Unknown argument test, choose one of  config inhibit install_test level off on peer href='/fhem?detail=Device_Wohnzimmer_Lichtschalter_02'>Device_Wohnzimmer_Lichtschalter_02,Device_Wohnzimmer_Lichtschalter_03,Device_Wohnzimmer_Lichtschalter_04,Device_Wohnzimmer_Lichtschalter_05,Device_Wohnzimmer_Lichtschalter_06,Device_Wohnzimmer_Lichtschalter_07,Device_Wohnzimmer_Lichtschalter_08,Device_Wohnzimmer_Lichtschalter_09,Device_Wohnzimmer_Lichtschalter_10,Device_Wohnzimmer_Lichtschalter_11,Device_Wohnzimmer_Lichtschalter_12,HBW_Sen_Key_12_HBW7296769_01,HBW_Sen_Key_12_HBW7296769_02,HBW_Sen_Key_12_HBW7296769_03,HBW_Sen_Key_12_HBW7296769_04,HBW_Sen_Key_12_HBW7296769_05,HBW_Sen_Key_12_HBW7296769_06,HBW_Sen_Key_12_HBW7296769_07,HBW_Sen_Key_12_HBW7296769_08,HBW_Sen_Key_12_HBW7296769_09,HBW_Sen_Key_12_HBW7296769_10,HBW_Sen_Key_12_HBW7296769_11,HBW_Sen_Key_12_HBW7296769_12 peeringdetails unpeer href='/fhem?detail=Wohnzimmer_Lichtschalter'>Wohnzimmer_Lichtschalter  on-till on-for-timer blink off-till-overnight on-till-overnight off-for-timer off-till intervals
Unknown argument test, choose one of  config inhibit install_test level off on peer href='/fhem?detail=Device_Wohnzimmer_Lichtschalter_02'>Device_Wohnzimmer_Lichtschalter_02,Device_Wohnzimmer_Lichtschalter_03,Device_Wohnzimmer_Lichtschalter_04,Device_Wohnzimmer_Lichtschalter_05,Device_Wohnzimmer_Lichtschalter_06,Device_Wohnzimmer_Lichtschalter_07,Device_Wohnzimmer_Lichtschalter_08,Device_Wohnzimmer_Lichtschalter_09,Device_Wohnzimmer_Lichtschalter_10,Device_Wohnzimmer_Lichtschalter_11,Device_Wohnzimmer_Lichtschalter_12,HBW_Sen_Key_12_HBW7296769_01,HBW_Sen_Key_12_HBW7296769_02,HBW_Sen_Key_12_HBW7296769_03,HBW_Sen_Key_12_HBW7296769_04,HBW_Sen_Key_12_HBW7296769_05,HBW_Sen_Key_12_HBW7296769_06,HBW_Sen_Key_12_HBW7296769_07,HBW_Sen_Key_12_HBW7296769_08,HBW_Sen_Key_12_HBW7296769_09,HBW_Sen_Key_12_HBW7296769_10,HBW_Sen_Key_12_HBW7296769_11,HBW_Sen_Key_12_HBW7296769_12 peeringdetails unpeer href='/fhem?detail=Wohnzimmer_Lichtschalter'>Wohnzimmer_Lichtschalter  off-for-timer on-for-timer on-till blink off-till-overnight on-till-overnight intervals off-till
Unknown argument test, choose one of  config inhibit install_test level off on peer href='/fhem?detail=Device_Wohnzimmer_Lichtschalter_02'>Device_Wohnzimmer_Lichtschalter_02,Device_Wohnzimmer_Lichtschalter_03,Device_Wohnzimmer_Lichtschalter_04,Device_Wohnzimmer_Lichtschalter_05,Device_Wohnzimmer_Lichtschalter_06,Device_Wohnzimmer_Lichtschalter_07,Device_Wohnzimmer_Lichtschalter_08,Device_Wohnzimmer_Lichtschalter_09,Device_Wohnzimmer_Lichtschalter_10,Device_Wohnzimmer_Lichtschalter_11,Device_Wohnzimmer_Lichtschalter_12,HBW_Sen_Key_12_HBW7296769_01,HBW_Sen_Key_12_HBW7296769_02,HBW_Sen_Key_12_HBW7296769_03,HBW_Sen_Key_12_HBW7296769_04,HBW_Sen_Key_12_HBW7296769_05,HBW_Sen_Key_12_HBW7296769_06,HBW_Sen_Key_12_HBW7296769_07,HBW_Sen_Key_12_HBW7296769_08,HBW_Sen_Key_12_HBW7296769_09,HBW_Sen_Key_12_HBW7296769_10,HBW_Sen_Key_12_HBW7296769_11,HBW_Sen_Key_12_HBW7296769_12 peeringdetails unpeer href='/fhem?detail=Wohnzimmer_Lichtschalter'>Wohnzimmer_Lichtschalter  on-till on-for-timer on-till-overnight blink off-till-overnight off-for-timer off-till intervals

Shortie

Für weitere Tests habe ich nun mal meine komplette config inkl. fhem.save weggeschoben und mit einer neuen fhem.cfg gestartet. Dort dann nur folgende Befehle abgesetzt:

define bridgeHomematicWired HM485_LAN 127.0.0.1:2000
attr bridgeHomematicWired HM485d_device /dev/serial/by-id/usb-Homematic_HMW_Bus_Adapter_A700D2U8-if00-port0
attr bridgeHomematicWired HM485d_bind 1
define Device_Wohnzimmer_Dimmer_Fenster HM485 42000105
define Device_Wohnzimmer_Dimmer_Tuer HM485 42000108
define Structure_Wohnzimmer_Licht structure Licht Device_Wohnzimmer_Dimmer_Tuer_01 Device_Wohnzimmer_Dimmer_Fenster_02 Device_Wohnzimmer_Dimmer_Fenster_01 Device_Wohnzimmer_Dimmer_Tuer_02


Danach gespeichert und neugestartet und das Problem ist weiterhin da.

Beim initialisieren der Dimmer Devices und nach einem Neustart sehe ich nun im Log, ich konnte das aber auch in den Logs von gestern finden.


2020.02.07 17:29:30 3: bridgeHomematicWired: Initialisierung von Modul 42000105
2020.02.07 17:29:30 3: bridgeHomematicWired: Initialisierung von Modul 42000108
2020.02.07 17:29:31 3: Device_Wohnzimmer_Dimmer_Fenster: Request config for device 42000105
2020.02.07 17:29:31 3: Device_Wohnzimmer_Dimmer_Fenster: Lese Eeprom 42000105
2020.02.07 17:29:31 3: Device_Wohnzimmer_Dimmer_Tuer: Request config for device 42000108
2020.02.07 17:29:31 3: Device_Wohnzimmer_Dimmer_Tuer: Lese Eeprom 42000108
2020.02.07 17:29:45 1: PERL WARNING: Use of uninitialized value in string eq at /usr/share/fhem/FHEM/lib/HM485/Device.pm line 538.


Thorsten Pferdekaemper

Zitat von: Shortie am 06 Februar 2020, 22:24:51
Wenn ich ein ungültiges argument nutze z.B. mit "set Structure_Wohnzimmer_Licht test on" bekomme ich diese Ausgabe. Ist es normal das hier zwischen peer und href das <a fehlt? Ab Device_Wohnzimmer_Lichtschalter_03 sind das dann auch jeweils klickbare Links.
Ich habe das mal ausprobiert. Das HMW-Device sendet an der Stelle eine korrekte Liste der Möglichkeiten, was nach "peer" kommen kann. Das wird aber anscheinend irgendwo von FHEMWEB oder sogar weiter unten irgendwo fehlerhaft in Links umgesetzt. Das müsstest Du vielleicht mal an anderer Stelle einbringen. ...also da im Forum wo z.B. FHEMWEB behandelt wird.

Zitat von: Shortie am 07 Februar 2020, 17:37:41

2020.02.07 17:29:31 3: Device_Wohnzimmer_Dimmer_Tuer: Lese Eeprom 42000108

Ich sehe gerade, das sind keine Original-HMW-Teile, oder? Da könnte es natürlich auch noch sein, dass deshalb was falsch läuft. Was ist denn das genau?

Zitat
2020.02.07 17:29:45 1: PERL WARNING: Use of uninitialized value in string eq at /usr/share/fhem/FHEM/lib/HM485/Device.pm line 538.

Also Zeile 538 in "meiner" Device.pm sieht so aus:

if ( defined( $value->{'physical'}{'event'})

...da gibt es kein "string eq". Wann hast Du denn das letzte Mal ein Update gemacht? (Bei dem auch die HM485-Sachen mitkamen?)

Gruß,
   Thorsten

FUIP

Shortie

Ok, da werde ich mal gucken wo es im Forum hingehört für FHEMWEB und separat melden.

Das sind Geräte basierend auf HBWired. Die Dimmer sind basieren auf HBW-SC-10-Dim-6 mit leicht angepasstem Sketch, da ich, wenn alle Dimmer aus sind, noch ein Relais schalte was auch das Netzeil vom Strom trennt.

Die Steckdosen, womit ich es auch nachstellen konnte, sind unveränderte HBW-LC-Sw-8_AdvancedPeering.

Die Geräte sind auf einem Stand von HBWired von vor ca. 1 Jahr, da ich so dort gebaut und verbaut habe.

Updates hab ich die letzten Tage öfter gemacht (fhem und HM485), das letzte mal erst heute bevor ich mit einer neuen fhem.cfg getestet hab.
Die Zeile 538 sieht bei mir identisch aus, das if Statement geht aber in der nächsten Zeile noch weiter, dort gibt es ein eq. Eventuell ist das in der Fehlermeldung gemeint.

Shortie

Wenn ich mir die Structure anzeigen lasse, dort auf DEF und dann auf modify drücke ohne etwas zu ändern, repariert sich die Structure, allerdings nur wenn die passenden HBW Devices bereits fertig initialisiert sind.