Seite 1 von 1

[V4.1 IP2] Boolean Invertieren

Verfasst: Do Okt 03, 2024 12:40 pm
von Hiele
Moin zusammen,

ich versuche mich mal wieder an der Logikengine. Ich tue wirklich mein bestes um die zu verstehen. Leider habe ich aber keine für mich verständliche Anleitung gefunden weder per Suche hier im Forum noch im Wiki.

Ich habe folgende Aufgabe zu lösen: Unser Weinkühlschrank hat leider die Eigenschaft hin und wieder nicht richtig zu schließen und darum will ich die Tür überwachen. Wenn länger als 60 Sekunden auf soll im Wohnzimmer eine Lampe rot blinken.
Zusätzlich soll das Licht an bleiben, wenn man den Kühlschrank bestückt, da die Tür zum Raum den Bewegungsmelder verdeckt. Es soll also eine „1/true“ an die Sperre für den BWM für den akt Status gesendet werden.
Dazu habe ich einen kleinen Zigbee-Sensor oben an Tür und Gehäuse geklebt.
Mit zigbee-2-mqtt sendet der auch fleißig seine Position. Also für Tür zu = true und offen=false.

Code: Alles auswählen

{
  "battery_low": false,
  "contact": true,
  "linkquality": 131,
  "tamper": false
}
Bild

In der VISU wird der Zustand angezeigt:

Bild

Bei Wertänderung geht es also einmal an die VISU und einmal an die Logik für die Sperre:

Bild

Ich wollte mit dem „Map boolean to Integer“ den Wert umdrehen für die Sperre. Also zu=0 und auf=1. Wenn auf, dann sende eine 1 an die Sperre und Sperre den akt. Zustand, in dem Fall wenn es zu dunkel im Raum ist,geht das Licht an und bleibt so lange an, so lange die Kühlschranktür auf ist.
Nun kann ich aber die Logik so nicht speichern, da es wohl ein Problem mit der automatischen Konvertierung gibt und ein speichern nicht zugelassen wird.
Habe ich die falsche Logik gewählt? :?:

Auch eine Timerlogikidee habe ich nicht gefunden. Also wenn eine true kommt starte ein Timer der bei Ablauf eine 1/true sendet aber mit false ein Abbruch des Timers bewirkt und bestenfalls nichts oder 0/false sendet.

Für ein Tipp wäre ich dankbar und schönen Feiertag euch!

LG Hiele


Edit: Version hinzugefügt

Re: Boolean Invertieren

Verfasst: Do Okt 03, 2024 1:00 pm
von pbm
Hallo Hiele,


Zuerst bitte den Thread-Titel um die aktuell auf deinem TWS installierte Software-Version ergänzen.


Lösung deines Problems:

Das negieren/invertieren eines Boolean geht mit einem UND-Baustein.

Die Negation wird dadurch erreicht, dass du den Eingang oder den Ausgang mit Klick auf den Punkt am Ein- oder Ausgang negierst. Fertig.


Bild





und wenn es am Ausgang ein Integer sein soll, dann wäre das eine Lösung:


Bild

(obwohl da Ganzzahl steht, funktioniert es bei mir auch mit Fließkommazahlen. [V4.1 IP2])

Re: [V4.1 IP2] Boolean Invertieren

Verfasst: Do Okt 03, 2024 1:59 pm
von Hiele
Hallo Peer,

ganz lieben Dank, ist zu einfach gewesen, ich denke einfach zu kompliziert vermutlich...

LG Hiele