Bewegungsmelder - Helligkeitswert bei Auslösung speichern
-
- Beiträge: 28
- Registriert: 8. Feb 2022 19:36
Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Moin!
Ich stolpere gerade über eine Rule meines Bewegungsmelder. Die Lampe geht bei 'Nacht=On' gedimmt an und bei Bewegung auf hell.
Der Ausgangswert variiert aber. Diesen Ausgangswert speichere ich in eine Variable die dann nach Ablauf des Timers in der Rule wieder an die Lampe gesendet wird.
Z. B. von 5% auf 60%. Bei erneuter Bewegung startet die Rule neu, speichert dann aber den aktuell eingestellten Wert, also 60%.
Wie kann diesen Wert separieren, also hier z. B. die 5%?
Ich bin übrigens immer noch mit Blockly unterwegs weil sich DSL mir noch nicht erschlossen hat.
Muss ich innerhalb der 'then' Rule nochmal einen 'if' Block einbauen?
Leider finde ich nicht über die Suche.
Danke vorab
Grüße
Sky
Ich stolpere gerade über eine Rule meines Bewegungsmelder. Die Lampe geht bei 'Nacht=On' gedimmt an und bei Bewegung auf hell.
Der Ausgangswert variiert aber. Diesen Ausgangswert speichere ich in eine Variable die dann nach Ablauf des Timers in der Rule wieder an die Lampe gesendet wird.
Z. B. von 5% auf 60%. Bei erneuter Bewegung startet die Rule neu, speichert dann aber den aktuell eingestellten Wert, also 60%.
Wie kann diesen Wert separieren, also hier z. B. die 5%?
Ich bin übrigens immer noch mit Blockly unterwegs weil sich DSL mir noch nicht erschlossen hat.
Muss ich innerhalb der 'then' Rule nochmal einen 'if' Block einbauen?
Leider finde ich nicht über die Suche.
Danke vorab
Grüße
Sky
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Ich hoffe, ich habe das Problem richtig verstanden: Wenn während der "Hell-Phase" erneut Bewegung erkannt wird, wird der alte "Dunkel-Wert" mit dem aktuellen "Hell-Wert" überschrieben.
Als DSL Rule (zwingend per *.rules Datei, da globale Variablen gebraucht werden) sähe eine solche Rule grundsätzlich ungefähr so aus:
Also nicht weiter aufwändig. Der Haupttrick besteht darin, dass zunächst geprüft wird, ob die Lampe bereits hell geschaltet wurde. Nur, falls das nicht der Fall ist, wird der aktuelle Helligkeitswert überhaupt gespeichert und die Lampe hell geschaltet.
Wie sieht es in Blockly aus? Kannst Du dort einen Timer überhaupt verlängern? Kannst Du feststellen, ob der Timer gerade läuft?
Als DSL Rule (zwingend per *.rules Datei, da globale Variablen gebraucht werden) sähe eine solche Rule grundsätzlich ungefähr so aus:
Code: Alles auswählen
var Timer tBewegung = null // Timer für Licht aus
var Integer iLevel = 0 // Speicher für Level
val Integer iTimeout = 35 // Länge Timeout
rule "Licht bei Bewegung"
when
Item Bewegung received update ON // Bewegung erkannt
then
if(tBewegung === null) { // Falls Timer noch nicht läuft
iLevel = (Lampe.state as Number).intValue // speichere Helligkeit
Lampe.sendCommand(60) // Schalte Lampe hell
tBewegung = createTimer(now.plusSeconds(iTimeout),[| // Starte Timer; Nach Ablauf der Zeit
Lampe.sendCommand(iLevel) // Schalte Lampe auf vorherigen Wert
tBewegung = null // und lösche Zeiger auf Timer
])
} else // ansonsten (Timer existiert)
tBewegung.reschedule(now.plusSeconds(iTimeout)) // setze Timerablaufzeitpunkt neu
end
Wie sieht es in Blockly aus? Kannst Du dort einen Timer überhaupt verlängern? Kannst Du feststellen, ob der Timer gerade läuft?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 28
- Registriert: 8. Feb 2022 19:36
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Moin udo1toni!
Vielen Dank. Ja, das war genauso gemeint. Timer verlängern geht bei Blockly. Aber DSL wäre mir für weitere Projekte definitiv lieber. Ich müsste aber, um Deinen Code anzulegen die GUI verlassen und das anderswo eingeben, oder? GUI & Blockly sind ja bisher nur mein Wilderungsgebiet!
Vielen Dank. Ja, das war genauso gemeint. Timer verlängern geht bei Blockly. Aber DSL wäre mir für weitere Projekte definitiv lieber. Ich müsste aber, um Deinen Code anzulegen die GUI verlassen und das anderswo eingeben, oder? GUI & Blockly sind ja bisher nur mein Wilderungsgebiet!
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Genau. Die Rules werden im Dateisystem unterhalb /etc/openhab/rules/ gespeichert. Der Dateiname muss dabei auf .rules enden (Groß/Kleinschreibung ist zu beachten).
Du kannst (wie die Endung auf s auch nahelegt) beliebig viele Rules in einer Datei anlegen, Du kannst auch beliebig viele *.rules Dateien innerhalb dieses Verzeichnisses anlegen (keine Unterordner!)
Nur der User openhab hat Schreibrechte in dem Ordner, evtl. Darf aber auch der User openhabian in dem Ordner schreiben, falls es sich um eine openHABian Installation handelt.
Am bequemsten arbeitet man mit VSCode, dieser Editor bietet buchstäblich zehntausende Plugins für spezielle Erweiterungen. Unter anderem eben auch eines speziell für openHAB. Damit wird VSCode um zwei Listen erweitert, in denen alle Things/Channel und Items gelistet sind. Weiterhin bietet das Plugin Online Code Prüfung (das openHAB System wird zur Prüfung auf Korrektheit verwendet), Code Completion, Snippets, und, und, und…
VSCode kann man für jedes Betriebssystem laden und kostenlos nutzen ob Windows, MacOS oder GNU/Linux. Die Verbindung zum Conf-Ordner kann dann über Samba („Windows Freigabe“) erfolgen.
Gesendet von iPad mit Tapatalk
Du kannst (wie die Endung auf s auch nahelegt) beliebig viele Rules in einer Datei anlegen, Du kannst auch beliebig viele *.rules Dateien innerhalb dieses Verzeichnisses anlegen (keine Unterordner!)
Nur der User openhab hat Schreibrechte in dem Ordner, evtl. Darf aber auch der User openhabian in dem Ordner schreiben, falls es sich um eine openHABian Installation handelt.
Am bequemsten arbeitet man mit VSCode, dieser Editor bietet buchstäblich zehntausende Plugins für spezielle Erweiterungen. Unter anderem eben auch eines speziell für openHAB. Damit wird VSCode um zwei Listen erweitert, in denen alle Things/Channel und Items gelistet sind. Weiterhin bietet das Plugin Online Code Prüfung (das openHAB System wird zur Prüfung auf Korrektheit verwendet), Code Completion, Snippets, und, und, und…
VSCode kann man für jedes Betriebssystem laden und kostenlos nutzen ob Windows, MacOS oder GNU/Linux. Die Verbindung zum Conf-Ordner kann dann über Samba („Windows Freigabe“) erfolgen.
Gesendet von iPad mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 28
- Registriert: 8. Feb 2022 19:36
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Danke!
OK, whow. Nächste Baustelle. Samba versuchen zu installieren und dann VSCode anschauen
Es bleibt spannend
OK, whow. Nächste Baustelle. Samba versuchen zu installieren und dann VSCode anschauen

Es bleibt spannend

-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Moin, wenn Du openHABian nutzt, ist Samba schon installiertSkyWalker2_D hat geschrieben: ↑22. Mär 2022 09:51 OK, whow. Nächste Baustelle. Samba versuchen zu installieren und dann VSCode anschauen
Es bleibt spannend![]()

openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
-
- Beiträge: 28
- Registriert: 8. Feb 2022 19:36
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Ich bekomme Samba aber nicht "aktiviert" trotz des durchlesen diverser Anleitungen! Somit ist das noch eine Baustelle bei mir!
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Hast Du denn openHABian installiert?? Denn dann ist Samba schon aktiv und kann mit dem entsprechenden User genutzt werden.SkyWalker2_D hat geschrieben: ↑22. Mär 2022 13:02 Ich bekomme Samba aber nicht "aktiviert" trotz des durchlesen diverser Anleitungen! Somit ist das noch eine Baustelle bei mir!
Evtl. müssten noch andere User berechtigt werden, sofern man andere nutzen möchte.
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
-
- Beiträge: 28
- Registriert: 8. Feb 2022 19:36
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Ja, openhabian ist installiert und Samba ist auch aktiv laut Abruf "sudo service smbd status".
Aber unter Windows sehe ich den Pi leider nicht!
Aber unter Windows sehe ich den Pi leider nicht!
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Bewegungsmelder - Helligkeitswert bei Auslösung speichern
Sehen kannst Du den auch nicht, das geht hier schon seit XP nicht mehr richtig. Du musst einfach mal in den (Datei-)Explorer gehen und dort in der Adresszeile \\ip.des.openhab.servers\ eingeben. Falls Du im Browser erfolgreich http://openhabian:8080/ nutzen kannst, kannst Du auch \\openhabian\ versuchen. Es sollte dann eine Passwortabfrage geöffnet werden.
Evtl. ist die Dateifreigabe auch grundsätzlich deaktiviert, dann sollte allerdings bei der Eingabe oben im Explorer Fenster eine gelbe Nachricht aufpoppen.
Evtl. ist die Dateifreigabe auch grundsätzlich deaktiviert, dann sollte allerdings bei der Eingabe oben im Explorer Fenster eine gelbe Nachricht aufpoppen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet