USV-Notlicht: Licht ein, wenn Strom weg

Begonnen von Clemens, 01 Dezember 2016, 00:17:38

Vorheriges Thema - Nächstes Thema

Clemens

Guten Abend!

Mein Plan:
Wenn an der USV - angeschlossen via seriell/usb Adapter an Raspberry - kein Netzstrom anliegt, soll sich eine Lampe automatisch einschalten.

USV ist mittels NUT Modul in Fhem eingebunden; Status der USV wird in FHEM korrekt erkannt. Lampe läßt sich von FHEM aus schalten.

Mein Problem:
Ich bekomme es nicht hin, bei sich änderndem USV Statuswechsel von "OL" zu "OB" den Schaltbefehl für das Licht senden zu lassen.

Ich sehe im Event Monitor
2016-11-30 23:59:34 NUT CompaqUSV OL
und habe versucht, das in der Konfig mittels notify auszuwerten. Mit zusammengeklauten Codeschnipseln und was ich in der Doku fand und für mich anpasste:


define USVnotlicht_an notify CompaqUSV:state:.* if(ReadingsVal("CompaqUSV") eq "OB") { fhem("set Anrichte_Notlicht on") } }
oder

define USVnotlicht_an notify NUT:state:OB set Anrichte_Notlicht on

oder

define USVnotlicht_an notify NUT CompaqUSV:state:OB set Anrichte_Notlicht on


Funktionieren tut davon leider nix.

Der Regexp wizard brachte mich bis jetzt auch nicht weiter.

Meine FHEM Version ist 5.7

Könntet Ihr mir bitte einen Hinweis geben, wie ich diese Schaltverknüpfung machen muß?

Im voraus herzlich dankend

Clemens

deluxe41

Hallo Clemens,

ich habe das mit DOIF gelöst.

define Notlicht_DOIF DOIF ([USV] ne "OL")(set Notlicht on)


Gesendet von iPhone mit Tapatalk
Fritzbox 7490 ( USV + Fall Back ), einige HM komponenten,ESPs

kumue

Zitat von: deluxe41 am 01 Dezember 2016, 04:43:38
define Notlicht_DOIF DOIF ([USV] ne "OL")(set Notlicht on)

attr Notlicht_DOIF do always
gesetzt, damit es nicht nur beim ersten Mal funktioniert ?

igami

Zitat von: Clemens am 01 Dezember 2016, 00:17:38

define USVnotlicht_an notify CompaqUSV:state:.* if(ReadingsVal("CompaqUSV") eq "OB") { fhem("set Anrichte_Notlicht on") } }

steht im EventMonitor wirklich state?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

justme1968

zum notify: im event monitor solltest du sehen das das event für state ohne den reading namen kommt. d.h. entweder dein notify auf das tatsächliche event anpassen oder addStateEvent verwenden.

der : ist der trenner zwischen geräte namen und event. weitere doppelpunkte wie z.b. nach dem reading namen dürfen nicht als : erscheinen sondern müssen z.b. durch einen . ersetzt werden.

du kannst im notify $EVENT bzw. $EVTPART verwenden statt mit ReadingsVal den wert genau des readings abzufragen für das du das event bekommen hast.

du kannst die regex im notify define vermutlich so genau machen das du das if nicht mehr brauchst und auch nicht mehr auf perl ebene wechseln musst.

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

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

Clemens

Meine Herren!

Ihr seid der Wahnsinn! Es KLAPPT! Was ich da Zeit zugebracht habe! ...und einmal alles so zerschossen habe, dass ich fhem gleich neu installierte... :-(
Wirklich Sinn macht Hausautomatisierung ja erst wirklich, wenn man Dinge miteinander in Abhängigkeit setzt und das war für mich ein riesen Kampf! Danke,danke, danke!

Zitat von: igami am 01 Dezember 2016, 06:21:43
steht im EventMonitor wirklich state?
Nein :-(
Das kommt daher:
2016-12-01 14:44:45 NUT CompaqUSV OL
2016-12-01 14:45:05 NUT CompaqUSV battery.charge: 96.3
2016-12-01 14:45:05 NUT CompaqUSV battery.runtime: 2640
2016-12-01 14:45:05 NUT CompaqUSV input.voltage: 228.60
2016-12-01 14:45:05 NUT CompaqUSV ups.load: 0.0


@ justme1968: Dank für die Erklärung! Es gibt also mehrere Wege, so was zu lösen! Dass man möglichst nicht zwischen perl und fhem Commands hin und her wechseln soll, um Resourcen zu sparen, habe ich in der Doku gelesen. Allein die Umsetzung war mir zu viel.

@kumue und deluxe41:
Habe eure Kombi jetzt in meiner Config und es schaltet wie gewünscht!
Warum steht da jett aber ein timedOn wenn geschaltet wird? Stört mich nicht, doch...?

Jetzt habe ich die Situation, dass bei Wegfall der Netzspannung meine ehemaligen 12V Halogen, jetzt 230V Led-Spots (habe direkte Verkabelung in Sicherungskasten vorgefunden, weil dort der Trafo war!) durch die USV gespeist anspringen. Wenn Netzspannung wieder da, bleiben sie weiter eingeschaltet.
Soll ich das Ausschalten wieder mit

define Notlicht_DOIF DOIF ([USV] ne "OB")(set Notlicht off)

oder macht man das anders? ...da geht's jetzt nur noch um die Freude an der Sache!

Auf jeden Fall euch allen ganz herzlichen Dank!

Clemens