OWDevice_Define aktualisiert alle readings

Begonnen von justme1968, 15 September 2013, 23:46:31

Vorheriges Thema - Nächstes Thema

justme1968

mir ist gerade aufgefallen das OWDevice_Define beim anlegen d.h. auch beim neustart von fhem alle möglichen readings ausliest und aktualisiert auch wenn sie in polls nicht mit angegeben sind.

die einfachste art das zu beheben wäre am ende von OWDevice_Define nicht OWDevice_UpdateValues aufzurufen sondern erst per notify an global:INITIALIZED. zu diesem zeitpunkt wären nach einem neustart dann auch alle attribute (und eben auch polls) gesetzt.

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

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

Dr. Boris Neubert

Zitat von: justme1968 schrieb am So, 15 September 2013 23:46mir ist gerade aufgefallen das OWDevice_Define beim anlegen d.h. auch beim neustart von fhem alle möglichen readings ausliest und aktualisiert auch wenn sie in polls nicht mit angegeben sind.

die einfachste art das zu beheben wäre am ende von OWDevice_Define nicht OWDevice_UpdateValues aufzurufen sondern erst per notify an global:INITIALIZED. zu diesem zeitpunkt wären nach einem neustart dann auch alle attribute (und eben auch polls) gesetzt.

Ich bin einem Patch, der das wie von Dir beschrieben ändert, aufgeschlossen. Für eine aktive Entwicklung fehlt mir derzeit die Zeit.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

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

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

justme1968

mir ist grad aufgefallen das ich den patch noch nicht gepostet hatte.

damit wird:
- der ingternal timer im define entfernt. das verhindert das bei einem modify timer plötzlich mehrfach da sind
- das erste OWDevice_UpdateValues nach global:INITIALIZED verschoben. dann ist polls schon gesetzt

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

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

Dr. Boris Neubert

Zitat von: justme1968 am 23 November 2013, 14:16:20
mir ist grad aufgefallen das ich den patch noch nicht gepostet hatte.

Danke, wird gleich eingecheckt.
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

eppi

#5
Hallo zusammen
Ich habe heute das Update aktualisiert und dabei festgestellt, dass beim einem "shutdown restart" von FHEM der Status meiner iButtons beim initialisieren kurz "present 0" danach wieder auf "present 1" wechseln. Das bewirkt bei mir, dass FHEM meint ich hätte das Haus verlassen die Rollladen nach unten gehen (je nach Dämmerung) und danach wieder nach oben. Gibt es für mein Problem eine Lösung? Ich habe folgende Definition:

define OWFS1 OWServer 192.168.2.5:4304
attr OWFS1 nonblocking 1


define Busmaster1 OWDevice 81.598341000000
attr Busmaster1 comment Presence_Schluesselbretter_LCD_Displays
attr Busmaster1 model DS1420
attr Busmaster1 room Deamon


define ibutton_Dani OWDevice 01.684A8A150000 4
attr ibutton_Dani IODev OWFS1
attr ibutton_Dani comment Owner_Dani
attr ibutton_Dani event-on-change-reading present
attr ibutton_Dani model DS2401
attr ibutton_Dani room Presence


Herzlichen Dank für die Hilfe.
Gruss Dani


Dr. Boris Neubert

Hallo Dani,

das hängt mit Sicherheit mit einem der Patches zusammen, die ich gestern eingespielt habe. 

Ich muß leider gleich aus dem Haus und bin erst wieder nächstes Wochenende zurück und in der Lage, den Kode anzufassen.

André, hast Du eine Chance, der Ursache nachzugehen?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

ich schaue es mir nachher gleich mal an.

die patches von gestern waren:
  - temperatur auflösung -> das ist es sicher nicht

  - autocreate -> das kann es eigentlich nicht sein

  - nur noch auslesen was in polls steht -> das sollte nur weniger readings erzeugen. niemals falsche -> vielleicht ein seltsamer seiteneffekt?

vielleicht kannst du mal verbose auf 5 setzen (und speichern) und dann ein neustart loggen.

eine idee: wann hattest du das letzte save vor dem neustart gemacht? kann es sein das sie 0 nicht vom bus gekommen ist sondern aus dem save file?

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

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

eppi

Hallo Andre
Danke für deine Unterstützung.
Zitatvielleicht kannst du mal verbose auf 5 setzen (und speichern) und dann ein neustart loggen.
Das Log habe ich dir per PM gesendet.
Zitateine idee: wann hattest du das letzte save vor dem neustart gemacht? kann es sein das sie 0 nicht vom bus gekommen ist sondern aus dem save file?
Nein, ich hatte keinen save gemacht (habe ich auch nichts geändert), auch wenn ich einen mache, beobachte ich das gleiche Verhalten.

Gruss Dani

justme1968

ich hab das problem gefunden. es hängt mit den namen der devices zusammen und der reihenfolge in der das global::INITIALIZED notify aufgerufen wird. das hat dazu geführt das die devices gelesen wurden bevor der server sich verbunden hatte und keine werte zurück gekommen sind. wenn man die reihenfolge fest vorgibt geht alles.

anbei die beiden module jeweils komplett und als patch.

@borris: möchtest du es selber einchecken?

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

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

eppi

Hallo Andre
Besten Dank für die Analyse und Korrektur der Module. Ich habe sie eingespielt und getestet und kann bestätigen, dass das Problem gefixt ist!

Nochmasl Danke! Gruss Dani

Dr. Boris Neubert

Zitat von: justme1968 am 24 November 2013, 23:38:44

anbei die beiden module jeweils komplett und als patch.

@borris: möchtest du es selber einchecken?

Herzlichen Dank, Andre!

Ich bin einverstanden, daß Du die Änderungen ausnahmsweise eincheckst, damit die Anwender den Fix gleich haben.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

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

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

eldrik

Hi,

bei mir wird nach dem Update der STATE, der über das Netzwerk abzufragende OWServer nicht mehr angezeigt es erscheint nur ???, mache ich ein get devices auf einen der OWServer stürzt FHEM ab und lässt sich nur über fhem start wieder starten.

Die lokale OWServer Installation auf meinem FHEM Host ist davon ausgenommen.

Greetz
Eldrik

justme1968

arg... sorry.

bei mehr als einem server wurde nur einer aber dafür mehrfach initialisiert.

ich hab es eben repariert und eingecheckt.

bis das update da ist kannst du in 10_OWServer.pm von hand Zeile 217OWServer_OpenDev($hash);inOWServer_OpenDev($defs{$d});ändern.

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

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