Notify mehrere UND Bedingungen verknüpfen

Begonnen von cdn, 18 November 2015, 20:05:32

Vorheriges Thema - Nächstes Thema

cdn

Hallo zusammen,

ich versuche Gerade mehrere Bedingungen in notify zu verknüpfen. Vielleicht kann mir ja jemand helfen:

Ich würde gerne, dass wenn Bed1 & Bed2 erfüllt sind den befehl ausführen. Geht dies nur mit einer if Bedingung oder gibt es dafür einen Syntax wie bei oder den |

Danke im voraus

Kharim

Klar kannst du das in einer If durchführen....

If (Bed1 && Bed2) {
}
ist eine UND Verknüpfung

If (Bed1 || Bed2) {
}
ist eine ODER Verknüpfung

Siehe auch:
http://www.fhemwiki.de/wiki/If-condition
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

AET_FHEM

genau zB.:

define FS_Festnetz_An_WE8 at *08:01 { if (($we && Value("HomeStatus") eq "1") ) {fhem ("set REV01 on") } }


=> REV01 schaltet nur on wenn Wochenende und wenn HomeStatus 1 ist

cdn

#3
Also sollte das so gehen?

#Abwesenheit
define HESOffSetTempLow notify Dummy1:off|Dummy2:off {\
  if( Value("Dummy1") eq "off" && Value("Dummy2") eq "off") {\
fhem "set Hinten_Clima desired-temp 16.5;;set Konfi_Links_Clima desired-temp 17.0;;"} {\
fhem "set L_Vorne_Links off;;"}\
  }}


Edit: Klappt leider nicht. Es geht ja darum, dass der notify beide dummies checkt. und BEIDE auf off sind.

Paul

Warum hast du einmal value geschrieben und einmal nicht?
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

cdn

War ein Fehler. Habs aber gerade ergänzt, ändert sich leider nichts :-(

Paul

Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

cdn

Habs gerade mal ergänzt wie mein aktueller Stand ist. So denke ich sollte es gehen, tut es aber leider nicht.

igami

Statt notify könntest du auch DOIF verwenden.
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

Ralli

... z.B.


define HESOffSetTempLow DOIF ([Dummy1] eq "off" and [Dummy2] eq "off") \
(set Hinten_Clima desired-temp 16.5) \
        (set Konfi_Links_Clima desired-temp 17.0) \
(set L_Vorne_Links off) \
        DOELSE()


Damit erschlägst Du gleichzeitig auch die Abfrage, ob beide Dummys off sind.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

Damian

Wenn man die einzelnen set-Befehle nicht bewusst mit wait verzögern will, würde ich die Set-Befehle hintereinander angeben, damit werden nicht unnötig Zwischenzustände des Moduls erzeugt. Wenn man das Attribut do always nicht angibt, wird automatisch der DOELSE-Fall erzeugt, die Definition sieht dann einfach so aus:


define HESOffSetTempLow DOIF ([Dummy1] eq "off" and [Dummy2] eq "off")
  (set Hinten_Clima desired-temp 16.5, set Konfi_Links_Clima desired-temp 17.0,  set L_Vorne_Links off)


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cdn

#11
Zitat von: Damian am 19 November 2015, 08:38:40
Wenn man die einzelnen set-Befehle nicht bewusst mit wait verzögern will, würde ich die Set-Befehle hintereinander angeben, damit werden nicht unnötig Zwischenzustände des Moduls erzeugt. Wenn man das Attribut do always nicht angibt, wird automatisch der DOELSE-Fall erzeugt, die Definition sieht dann einfach so aus:


define HESOffSetTempLow DOIF ([Dummy1] eq "off" and [Dummy2] eq "off")
  (set Hinten_Clima desired-temp 16.5, set Konfi_Links_Clima desired-temp 17.0,  set L_Vorne_Links off)


Gruß

Damian

Sehr cool! Es funktioniert. Besten Dank!

Kann ich diese Vereinfachung, dass alle fhem Befehle direkt ausgeführt werden auch bei notify verwenden? Und gibt es für DOIF auch den AND Parameter? Habe im commandref leider nichts dazu gefunden.