Ankündigung: NUT - Network UPS Tools

Begonnen von Creideiki, 18 September 2014, 14:32:38

Vorheriges Thema - Nächstes Thema

Creideiki

Neue Version von 34_NUT ist im SVN. Sie sollte jetzt wesentlich robuster sein; ein unkontrolliertes Anwachsen des Buffers ist nicht mehr möglich.
Probiers damit mal aus. Woher der eigentliche Fehler kommt (unvollständiger Empfang der Daten von NUT), weiß ich nämlich noch nicht; aber so kannst du testen, ohne dass FHEM abstürzt.

Vielleicht kannst du dann mal die Ausgabe von
fhem.pl 7072 "list UPS"
posten. Mit
attr UPS verbose 5
kannst du auch die Laberhaftigkeit von NUT im fhem-log hochsetzen.


justme1968

hab dein modul gerade installiert und es schaut schon sehr gut aus. danke !

einen wunsch habe ich aber: es wäre besser (und es ist mehr oder weniger fhem standard) wenn die readings keine einheiten haben. das macht das weiterverarbeiten und plotten einfacher und konsistent mit anderen (aktuellen) modulen.

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

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

justme1968

und noch etwas: wenn du in deine attribut liste $readingFnAttributes mit aufnimmst kann dein modul automatisch event-on-change, event-min-interval & co. und die geloggte datenmenge lässt sich deutlich reduzieren.

gruss
  andre

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

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

Creideiki

Zitat von: justme1968 am 24 September 2014, 15:33:37
und noch etwas: wenn du in deine attribut liste $readingFnAttributes mit aufnimmst kann dein modul automatisch event-on-change, event-min-interval & co. und die geloggte datenmenge lässt sich deutlich reduzieren.
Geht das automatisch, wenn die Attribute aufnehme? Ich dachte, ich müßte das selbst implementieren, deshalb hab ich sie im Moment noch draußen.

Und das mit den Einheiten... ja, ich weiß, dass es unüblich ist... dafür gibt es ja die interface-Definitionen, aber die passen für eine USV hinten und vorne nicht.
Aber ich könnte es ja einfach per Attribut schaltbar machen.

justme1968

jd. du musst nur "  $readingFnAttributes" an deine AttrList anhängen. alles andere geht automatisch.

die interface definitionen aus dem wiki sind im prinzip tot. es wird hoffentlich etwas neues geben. bis dahin ist die überwiegende meinung einheiten in den readings weg zu lassen. in STATE kann man sie sich ja mit stateFormat einfach selber konfigurieren.

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

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

Creideiki

Zitat von: justme1968 am 24 September 2014, 16:34:14
jd. du musst nur "  $readingFnAttributes" an deine AttrList anhängen. alles andere geht automatisch.
Hübsch. Gibt es da noch mehr Attributes, die automatisch funktionieren?

Zitat
die interface definitionen aus dem wiki sind im prinzip tot. es wird hoffentlich etwas neues geben. bis dahin ist die überwiegende meinung einheiten in den readings weg zu lassen. in STATE kann man sie sich ja mit stateFormat einfach selber konfigurieren.
Tja... damit würde man den tatsächlichen Geräten auch nur hinterherlaufen. Na ja, jetzt mach ichs mal per Schalter.

Neue Version kommt demnächst.

justme1968

mit $readingFnAttributes bekommst du event-on-change-reading, event-on-update-reading, event-min-interval und stateFormat.

in dieser art gibt es dann nur noch die SetExtensions die du in (d)einer SetFn verwenden kannst und mit denen du automatisch on-for-timer, off-for-timer, on-til, off-til, blink und intervals bekommst wenn dein modul on und off kann. ob das für eine usv sinnvoll ist glaube ich aber nicht.

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

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

Creideiki

Zitat von: justme1968 am 24 September 2014, 16:50:00
in dieser art gibt es dann nur noch die SetExtensions die du in (d)einer SetFn verwenden kannst und mit denen du automatisch on-for-timer, off-for-timer, on-til, off-til, blink und intervals bekommst wenn dein modul on und off kann. ob das für eine usv sinnvoll ist glaube ich aber nicht.
Hihi... eine blinkende USV hätte ja schon was... Abschalten geht ja durchaus (wenn es auch noch nicht implementiert ist), aber Einschalten dürfte ferngesteuert eher selten gehen.

volschin

Ich habe die Version aus dem svn eingespielt, disable auf 0 gesetzt und das List gemacht.

Internals:
   DEF        usbhid-ups 192.168.2.254
   DeviceName 192.168.2.254:3493
   FD         106
   NAME       UPS
   NR         384
   PARTIAL
   STATE      opened
   TYPE       NUT
   UpsName    usbhid-ups
   buffer
   lastStatus
   pollValState 20
   Readings:
   Helper:
Attributes:
   asReadings battery.charge battery.runtime input.voltage ups.load ups.power ups.realpower
   disable    0
   model      1
   pollState  5
   pollVal    60
   room       _Test
   serNo      1


Jetzt hängt er wieder. Hätte mal zuerst das Attribut setzen sollen. Naja, beim nächsten Versuch.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Creideiki

Hast du an das
reload 34_NUT
gedacht? Die Meldung Anzahl Readings von... gibt es in der aktuellen Version nicht mehr.

Hast du model und serNo von Hand gesetzt? Er setzt die eigentlich automatisch, aber nur, wenn sie nicht existieren.

Nach dem Log zu urteilen, hat er einige Minuten ganz normal eingelesen. Ich verstehe nicht, wieso dann keinerlei Einträge zumindest im Helper sind.

volschin

#26
Reload habe ich gemacht. Spätestens für das Log hat das nach dem Absturz auch keine Rolle mehr gespielt.
Mit Model und Serno habe ich nicht manuell gemacht.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Creideiki

Neue Version steht im SVN.
Bitte prüfen, ob im Kopf der Datei tatsächlich die Id mit Rev 6616 steht.

Achtung:Die Definition des Attributes asReadings hat sich geändert: Die Readings werden jetzt nicht mehr mit Leerzeichen, sondern mit Kommata getrennt. Das Attribut muß also geändert werden, damit die Readings weiter geholt werden.
Die Änderung soll das Verhalten an die readingFnAttributes anpassen, die das auch so machen. Ich hoffe, ich zerschieße damit niemand allzu viel.

Ansonsten habe ich die Erzeugung der Einheiten ganz rausgeworfen, weil ich selbst damit Probleme bekommen habe.  ;) Immerhin bin ich damit regelkonform.

Die readingFnAttributes werden jetzt auch unterstützt.

@volschin: Versuch es bitte nochmal mit dieser Version (6616). model und serNo solltest du mal löschen, damit sie wieder richtig gesetzt werden. Falls es weiter nicht funktioniert, bitte nochmal Logfile (natürlich mit verbose 5  ;)) und Ausgabe von list.

volschin

Ich habe hier leider nur über update eine Datei bekommen, deren Id-Tag leer ist. Nichtdestotrotz funktioniert es jetzt.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Creideiki

Zitat von: volschin am 25 September 2014, 15:49:17
Ich habe hier leider nur über update eine Datei bekommen, deren Id-Tag leer ist. Nichtdestotrotz funktioniert es jetzt.
Sehr schön. Pass beim nächsten Update auf, da wird sich dann das Attribut asReadings anders verhalten (siehe oben). Ich weiß nicht genau, wann die Updates per update verteilt werden, nachdem sie im SVN eingecheckt sind; es kann sein, dass das erst am nächsten Tag funktioniert.