FHEM - Hausautomations-Systeme > 1Wire

[erledigt] OWDevice feature request

(1/6) > >>

erwin:
Ich hab eine Bitte zum OWDevice Modul:

könnte man ein disable Attr. supporten?
Background: Ich habe etliche OW-devices (nicht mit Bus-Power), die "saisonal" nicht in Betrieb sind.. (Stichwort: z.B.: Swimmingpool, Heizung) und daher bei jedem poll unschöne Log messages produzieren...
Es sollte ja reichen, wenn die devices nicht mehr gepollt werden.
Alternativ set <device> poll 0, das produziert dzt. 5-10 Log msg/sec.
Es ist mühsam und fehleranfällig, jedesmal die devices aus der config zu löschen und wieder neu anzulegen...
Mit einem disable attr. könnte ich das automatisieren (und WAF freundlich machen)
PS: in der OWdevice_Notify Fn sind schon Ansätze für disable-attr drin...
 l.g. erwin

edit: auf erledigt gesetzt - DANKE!

eldrik:
eine kurzfristige Abhilfe zur Verringerung der Log Meldungen würde das erhöhen des Abfrageintervals auf z.B 10000 bringen.

Dazu ein paar passende notifies zum bequemen setzen der Werte.

Greetz
Eldrik

Dr. Boris Neubert:
Hallo Erwin,

kannst Du bitte das beigefügte schnell zusammengehackte und ungetestete überarbeitete Modul  ausprobieren? Ich habe ihm das gewünschte disable-Attribut spendiert.

Grüße
Boris

erwin:
Danke Boris,
...Test läuft, bisher ist mir folgendes aufgefallen (verbose 5):
1) disable 1 funktioniert
2) ein defmod (mit disable=1) bringt folgendes:

--- Code: ---2021.08.23 11:31:11.368 4: DS18S20_30BDDD010800: I/O device is myOWServer
2021.08.23 11:31:11.369 5: DS18S20_30BDDD010800: polling every 60 seconds
2021.08.23 11:31:11.370 5: DS18S20_30BDDD010800: interfaces: temperature
2021.08.23 11:31:11.371 5: DS18S20_30BDDD010800: getters: address crc8 family id locator power r_address r_id r_locator temperature temphigh templow type
2021.08.23 11:31:11.371 5: DS18S20_30BDDD010800: setters: temphigh templow
2021.08.23 11:31:11.372 5: DS18S20_30BDDD010800: polls: temperature
2021.08.23 11:31:11.372 5: DS18S20_30BDDD010800: state: temperature
2021.08.23 11:31:11.373 5: DS18S20_30BDDD010800: alerting: 1
2021.08.23 11:31:11.610 3: DS18S20_30BDDD010800: reading type did not return a value
--- Ende Code ---
...wobei mich nur die letzte Zeile stört!
3) ein disable 0 started das polling offensichtlich nicht.
4) löschen disable attr - kein polling - erst ein defmod <device> hilft, wobei dann wieder folgender Log kommt:

--- Code: ---2021.08.23 11:42:43.026 3: DS18S20_30BDDD010800: reading type did not return a value
2021.08.23 11:42:43.094 3: DS18S20_30BDDD010800: reading temperature did not return a value
2021.08.23 11:43:43.086 3: DS18S20_30BDDD010800: reading temperature did not return a value
--- Ende Code ---
...reading type did.. kommt allerdings nicht bei jedem poll, sondern nur beim defmod!

danke nochmal für deinen support, es ist jedoch nicht wirklich dringend. Die devices funktionieren ja problemlos.
l.g. erwin

Dr. Boris Neubert:
Hallo Erwin,

Danke für Deinen Test. Wie gesagt, es war ein schneller Hack. Mangels aktivem Equipment nach Umzug kann ich selber nicht weiter testen und entwickeln, schon gar nicht diese Randfälle.

Der Hack unterbindet einfach das Lesen vom Bus, entsprechend kommen beim Öffnen der Verbindung vom Gerät keine brauchbaren Werte zum Typ, was zur Fehlermeldung führt. Das ganze braucht bzgl. der Zustände eine dokumentierte Überlegung, um es vollständig richtig hinzubekommen. Das kann ich nicht leisten.

Wenn ich weiter nichts Negatives höre, checke ich diese Fassung die Tage mal ein. Besser als nix wär das dann hoffentlich.

Viele Grüße
Boris

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln