[gelöst] Notify mit UND Verknüpfung

Begonnen von theotherhalf, 28 Oktober 2021, 09:59:17

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#30
Klar, eindämmen immer erst wenn es läuft...

Nicht, dass man sich "ins Knie schießt"... ;)

Wenn du die Änderungen oben gemacht hast, dann lass mal laufen und schau ins Log.

Poste mal was da kommt...

Ich lagere ja Logik immer in myUtils aus...
...evtl. auch mal anschauen ;)

https://wiki.fhem.de/wiki/99_myUtils_anlegen

EDIT: alle 15s ein Trigger. Da solltest du auf jeden Fall (nachher) eindämmen oder (wenn nicht aus anderen Gründen nötig) gleich nicht so oft senden lassen. Weil da ja alle 15s das notify prüft und dann müssen die Werte ja immer passen, sonst: ELSE ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

theotherhalf

Kurze Frage: Im LOgfile hast du Punmpe geschrieben. Egal?
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

theotherhalf

Hab mal am Poti Warmwasserbereitung getriggert:

2021.10.29 17:26:10 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 17:26:11 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 17:26:11 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 17:26:12 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on


2021.10.29 17:26:12 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

MadMax-FHEM

#33
Hmm, die letzten beiden Einträge hätten dann eigentlich zu Aktiv führen müssen...

Ist das passiert?

Wenn nicht, dann evtl. noch Logausgabe beim set Active bzw. set Inactive einbauen...

EDIT: Bleibt denn der Zustand stabil? Nicht, dass der immer "schwankt" und der dummy "hüpft" (und immer wenn du schaust ist Inaktiv ;)  )... Der Zeitstempel beim dummy ändert sich aber? Weil nicht, dass der set Befehl "falsch" ist...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Also so, wieder per DEF:


{my $GasventilTherme=ReadingsVal("Gasventil_Therme","Gasventil_Therme","n.a."); my $UmwaelzpunmpeTherme=ReadingsVal("Umwaelzpumpe_Therme","Umwaelzpumpe_Therme","n.a.");my $StellungUmschaltventil=ReadingsNum("Stellung_Umschaltventil", "Stellung_Umschaltventil", 0); Log3(undef,1,"test_Warmwasserbetrieb StellungUmschaltventil: $StellungUmschaltventil    GasventilTherme: $GasventilTherme   UmwaelzpunmpeTherme: $UmwaelzpunmpeTherme"); if($GasventilTherme eq "on" &&  $StellungUmschaltventil == 100  && $UmwaelzpunmpeTherme eq "on")  {fhem ("set Vaillant_Therme_Warmwasserbetrieb Aktiv");Log3(undef,1,"test_Warmwasserbetrieb: set Aktiv");} else {fhem("set Vaillant_Therme_Warmwasserbetrieb Inaktiv");Log3(undef,1,"test_Warmwasserbetrieb: set Inaktiv");}}


Wenn es läuft, dann nat. die Logausgaben wieder raus ;)
Sonst läuft (bei der Frequenz der Daten/Events) das Log voll...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#35
Warten wir mal das Log ab, wenn die Schaltbefehle auch geloggt werden...
...aber was mich ein wenig stutzig macht ist der Zeilenumbruch im geposteten Log:

Zitat
2021.10.29 17:26:12 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on

Ist das wirklich so oder ist es wegen irgendwelcher Bildschirmeinstellungen etc.?
Nicht, dass am Ende hinter dem "on" noch was kommt, also beispielsweise (wobei eher ungewöhnlich) ein '\r' oder '\n' oder so.
Wenn das nämlich zum Readingwert "gehört", dann ist klar, dass "on" nicht "matcht"...

EDIT: wenn dem so wäre, dann evtl. eq "on"  durch =~ m/on/ ersetzen...

Aber wie geschrieben: mal die weiteren Logausgaben einbauen und laufen lassen und posten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

theotherhalf

2021.10.29 17:54:50 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:54:50 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 17:54:50 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:54:51 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 17:54:51 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:54:51 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 17:54:51 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:54:53 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on


2021.10.29 17:54:53 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:54:53 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on


2021.10.29 17:54:53 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:55:10 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on


2021.10.29 17:55:10 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 17:55:10 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

theotherhalf

Nein, an den Bilschirmeinstellungen liegt es nicht.
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

MadMax-FHEM

Dann mal sehen was kommt, wenn die zusätzlichen Logausgaben eingebaut sind...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

theotherhalf

Mit "=~ m/on/" klappt es :)

2021.10.29 18:50:33 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 18:50:50 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 18:50:50 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 18:50:50 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 18:50:50 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 18:50:50 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 18:50:50 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 18:50:50 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: off

   UmwaelzpunmpeTherme: on


2021.10.29 18:50:50 1: test_Warmwasserbetrieb: set Inaktiv
2021.10.29 18:50:51 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on


2021.10.29 18:50:51 1: test_Warmwasserbetrieb: set Aktiv
2021.10.29 18:50:51 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on


2021.10.29 18:50:51 1: test_Warmwasserbetrieb: set Aktiv
2021.10.29 18:51:10 1: test_Warmwasserbetrieb StellungUmschaltventil: 100    GasventilTherme: on

   UmwaelzpunmpeTherme: on
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

MadMax-FHEM

#40
Naja set Aktiv wird ausgeführt.

Bist du sicher, dass der set-Befehl den du hier mal gepostet hattest auch stimmt?
EDIT: bzw. war ja bei dir das mit dem "falschen" Leerzeichen...

Wie heißt denn der dummy?

EDIT: oder tut es jetzt? Hast du das mit dem "match" oder immer noch eq?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

theotherhalf

#41
Ja, jetzt wo ich eq durch das match ersetzt habe, schaltet er im Log auf Aktiv.
Der Dummy heisst "Vaillant_Therme_Warmwasserbetrieb".

Ich würde es jetzt folgendermaßen definieren (das log notify vorher rausnehmen):

define Vaillant_Therme_Brauchwasserbetrieb notify Gasventil_Therme:.*|Stellung_Umschaltventil:.*|Umwaelzpumpe_Therme:.* { if( ReadingsVal("Gasventil_Therme","Gasventil_Therme","off") =~ m/on/ && ReadingsNum("Stellung_Umschaltventil", "Stellung_Umschaltventil", 0) == 100  && ReadingsVal("Umwaelzpumpe_Therme","Umwaelzpumpe_Therme","off") =~ m/on/)  {fhem ("set Vaillant_Therme_Warmwasserbetrieb Aktiv") ;; } else {fhem  ("set Vaillant_Therme_Warmwasserbetrieb Inaktiv");;  } }
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

MadMax-FHEM

#42
Zitat von: theotherhalf am 29 Oktober 2021, 19:33:44
Ja, jetzt wo ich eq durch das match ersetzt habe, schaltet er im Log auf Aktiv.

Nur im Log oder auch den dummy?

Wenn es nur mit dem "match" geht, dann ist an dem Wert eines (oder beider) der Readings mit on/off was "faul".
Das nur als Hinweis/Anmerkung, falls du damit noch andere Dinge tust bzw. erneut ein notify/DOIF o.ä. bauen willst.


Zitat von: theotherhalf am 29 Oktober 2021, 19:33:44
Ich würde es jetzt folgendermaßen definieren (das log notify vorher rausnehmen):

define Vaillant_Therme_Brauchwasserbetrieb notify Gasventil_Therme:.*|Stellung_Umschaltventil:.*|Umwaelzpumpe_Therme:.* { if( ReadingsVal("Gasventil_Therme","Gasventil_Therme","off") =~ m/on/&& ReadingsNum("Stellung_Umschaltventil", "Stellung_Umschaltventil", 0) == 100  && ReadingsVal("Umwaelzpumpe_Therme","Umwaelzpumpe_Therme","off") =~ m/on/)  {fhem ("set Vaillant_Therme_Warmwasserbetrieb Aktiv") ;; } else {fhem  ("set Vaillant_Therme_Warmwasserbetrieb Inaktiv");;  } }


Ich würde mal bei =~ m/on/&& zwischen =~ m/on/ und den && ein Leerzeichen einfügen...
Ob das muss keine Ahnung aber es "gefällt" mir besser 8)

Was mich immer verwirrt sind deine doppelten ;;
Wo kopierst du denn das her, was du hier postest?
RawDef?
Direkt aus der config?
(editierst du direkt? -> lass es besser)

Weil bei Eingabe in DEF (und das ist der bevorzugte Weg, weil da auch ein Syntax-Check stattfindet und [wenn aktiviert] auch "Code-highlightning") braucht es nur einen Strichpunkt...

Und noch mal, wenn du in den geschweiften Klammern (bei/nach if/else) nur einen Befehl hast, dann kannst du die/den Strichpunkt(e) auch ganz weglassen.

Ich würde das ja (wie schon geschrieben) in eine Sub auslagern, die Variablen drin lassen und nur die Logausgaben auskommentieren...
...weil: wenn mal wieder was hakt, dann brauchst du nur die Logeinträge wieder einkommentieren und gut...

Aber: dein System, musst du wissen...

EDIT: und halt evtl. statt der wilden dummy und readingsProxy mal einen Blick auf stateFormat, devStateIcon und userReadings werfen...
Aber auch hier: dein System, musst du wissen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

theotherhalf

Auch der Dummy ist auf Aktiv gesetzt worden :-)

Das Leerzeichen hatte ich schon entdeckt.
Ich habe das, was ich gepostet habe, über die Kommandozeile eingegeben. Editiert in Word Pad. Die beiden Semikolon z.B. hattest Du mir früher geschickt in einem Beispiel, da waren die her, hab sie jetzt.
Ich fand das am Anfang übersichtlicher und habe das Device neu angelegt und zuvor gelöscht.

Nun sieht es so aus:
Internals:
   CFGFN     
   DEF        Gasventil_Therme:.*|Stellung_Umschaltventil:.*|Umwaelzpumpe_Therme:.* { if( ReadingsVal("Gasventil_Therme","Gasventil_Therme","off") =~ m/on/ && ReadingsNum("Stellung_Umschaltventil", "Stellung_Umschaltventil", 0) == 100  && ReadingsVal("Umwaelzpumpe_Therme","Umwaelzpumpe_Therme","off") =~ m/on/)  {fhem ("set Vaillant_Therme_Warmwasserbetrieb Aktiv")  } else {fhem  ("set Vaillant_Therme_Warmwasserbetrieb Inaktiv")  } }
   FUUID      617c112e-f33f-0f31-f12b-28f73348a48ab8ba
   NAME       test_Warmwasserbetrieb
   NOTIFYDEV  Umwaelzpumpe_Therme,Gasventil_Therme,Stellung_Umschaltventil
   NR         400
   NTFY_ORDER 50-test_Warmwasserbetrieb
   REGEXP     Gasventil_Therme:.*|Stellung_Umschaltventil:.*|Umwaelzpumpe_Therme:.*
   STATE      2021-10-29 20:29:51
   TRIGGERTIME 1635532191.75743
   TYPE       notify
   READINGS:
     2021-10-29 19:54:20   state           active
Attributes:



FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

MadMax-FHEM

D.h. jetzt geht es?

Na dann :)

Packst du dann noch ein [gelöst] o.ä. vor den ersten Post, danke.

Mal noch mal über die anderen Anmerkungen nachdenken... ;)

Viel Spaß noch, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)