Hallo zusammen,
ich schlage mich momentan mit einem für "mich" schwierigem Thema herum und komme irgendiwe nicht zu einem Ergebnis.
Meine Problemkind ist ein Sonoff Basic (Tasmota 6.5.0) für meinem Eingangsbereich. An diesem habe ich einen PIR über die GPIO's verbunden. Der Bewegungsmelder funktioniert und das Licht wird ein und nach ca. 25s wieder ausgeschaltet. Wenn in den 25s Bewegungen stattfinden verlängert sich die Einschaltdauer.
Konfiguration des Sonoff PIR im Bild "SonoffPIR_Power_P1.PNG" und "SonoffPIR_Power_P2.PNG"
Tagsüber ist es hell genug und nun suche ich nach einer Lösung das der Sonoff Basic nur von 18:00 Uhr abends bis 07:00 Uhr morgens das Licht einschalten darf.
Ich habe mir gedacht das ich im Sonoff ein "virtuelles Relais" erstelle sodaß der PIR diese virtuelle Relais schaltet und dabei kein Licht geschalten wird.
Konfiguration des Sonoff PIR mit 2 Relais im Bild "SonoffPIR_Power2_P1.PNG" und "SonoffPIR_Power2_P2.PNG"
Der Sonoff kommuniziert mit FHEM über MQTT2. Dort sehe ich unter den Readings auch POWER1 und POWER2.
Jetzt würde ich gerne wenn die Tageszeit zwischen 18:00 Uhr Abends und 07:00 Uhr morgens ist und POWER2 = on ist das dann POWER1 denselben Status bekommt. Soll heißen wenn Power2 = on ist soll auch Power2 = on und wenn POWER2 = off soll auch POWER1 = off sein.
Habe im Forum nach ähnlichen Fällen gesucht, einiges über Zeitschaltungen sowie notify und DOIF gelesen, aber leider verstehe ich das nicht so ganz sodass ich mir eine Lösung bauen könnte.
Hat jemand eine Idee wíe man das realisieren könnte oder könnte mir mit einem Denkanstoss behilflich sein?
Ich habe schon einige andere Steuerungen / Anwendungen mit Hilfe des FHEM Forums und Wiki lösen können und im Moment ist das meine letzte Baustelle die ich gerne schließen möchte. Es ist auch mein erster Post hier und hoffe das ich im richtigen Unterforum gepostet habe.
Vielen Dank im Voraus.
Günter
Hallo,
kurz -wie immer bei mir- es gibt ein zwei Fragen die offen sind und ein list deines MQTT2-Device könnte diese schon beantworten.
Einfach ein list <MQTT2_Devicename> oben in der Befehlszeile eingeben und das Ergebniss hier in Code-Tags posten.
Wenns im Device kein Reading Rule gibt dann am besten gleich noch ein list deines verwendeten notify/doif.
Gruß
Thomas
Hallo Thomas,
das mache ich doch gerne und Danke.
Hier das List meines MQTT2 Device:
Internals:
CID EingangPIR
DEF EingangPIR
DEVICETOPIC MQTT2_EingangPIR
FUUID 5ce0971c-f33f-c0a0-0563-52c7d84f5c876ea2
IODev mqtt2server
LASTInputDev mqtt2server
MSGCNT 4964
NAME MQTT2_EingangPIR
NR 43
STATE OFF
TYPE MQTT2_DEVICE
mqtt2server_MSGCNT 4964
mqtt2server_TIME 2019-07-03 20:55:36
READINGS:
2019-07-02 22:11:12 FallbackTopic cmnd/EingangPIR_fb/
2019-07-02 22:11:12 GroupTopic sonoffs
2019-07-02 22:11:12 Hostname EingangPIR-3672
2019-07-02 22:11:12 IPAddress 192.168.178.39
2019-07-02 22:43:17 LWT Online
2019-07-03 20:52:28 LoadAvg 19
2019-07-02 22:11:12 Module Sonoff Basic
2019-07-03 20:55:36 POWER OFF
2019-07-02 22:08:01 POWER1 OFF
2019-07-02 22:08:01 POWER2 OFF
2019-07-02 22:11:12 RestartReason Software/System restart
2019-06-11 18:59:23 SaveData on
2019-06-11 18:59:23 SetOption26 on
2019-07-03 20:52:28 Sleep 50
2019-07-03 20:52:28 SleepMode Dynamic
2019-06-11 18:59:19 StateText1 off
2019-06-11 18:59:20 StateText2 on
2019-06-11 18:59:20 StateText3 toggle
2019-06-11 18:59:22 StateText4 hold
2019-07-03 20:52:28 Switch2 OFF
2019-06-23 12:58:21 Switch4 on
2019-07-03 20:52:28 Time 2019-07-03T19:52:28
2019-07-03 20:52:28 Uptime 0T22:41:24
2019-07-03 20:52:28 Vcc 3.209
2019-07-02 22:11:12 Version 6.5.0(release-sonoff)
2019-07-02 22:11:12 WebServerMode Admin
2019-07-03 20:52:28 Wifi_AP 1
2019-07-03 20:52:28 Wifi_BSSId F0:B0:14:41:E7:6C
2019-07-03 20:52:28 Wifi_Channel 6
2019-07-03 20:52:28 Wifi_Downtime 0T00:00:06
2019-07-03 20:52:28 Wifi_LinkCount 1
2019-07-03 20:52:28 Wifi_RSSI 70
2019-07-03 20:52:28 Wifi_SSId home-srv2
2019-06-23 13:03:27 state set_off
Attributes:
IODev mqtt2server
alias Licht_Eingang_Flur
autocreate 0
group Licht
model A_01a_tasmota_basic_state_power1
readingList /Smarthome/Eingang/EingangPIR/tele/LWT:.* LWT
/Smarthome/Eingang/EingangPIR/tele/STATE:.* { json2nameValue($EVENT) }
/Smarthome/Eingang/EingangPIR/tele/SENSOR:.* { json2nameValue($EVENT) }
/Smarthome/Eingang/EingangPIR/tele/INFO.:.* { json2nameValue($EVENT) }
/Smarthome/Eingang/EingangPIR/stat/RESULT:.* { json2nameValue($EVENT) }
room Erdgschoss
setList off:noArg /Smarthome/Eingang/EingangPIR/cmnd/POWER1 0
on:noArg /Smarthome/Eingang/EingangPIR/cmnd/POWER1 1
toggle:noArg /Smarthome/Eingang/EingangPIR/cmnd/POWER1 2
setStateList on off toggle
stateFormat POWER1
OK, jetzt komm ich auch mit 8)
Du hast einfach einen PIR an den Sonoff geklemmt und dieser schaltet nun das Relais.
Denke es gibt jetzt 2 (oder 3?) Wege dein Vorhaben zu realisieren.
1. Du beschäftigst dich intensiver mit den Rules (https://github.com/arendst/Sonoff-Tasmota/wiki/Rules), hab leider auch kein Beispiel bin mir aber sicher das es möglich sein wird definierte Zeiten anzugeben. Mit dem Vorteil der Sonoff verrichtet auch im schlimmsten Falle ohne Fhem und Wlan seine Arbeit immer weiter.
2. Du "entkoppelst" das Relais wie in der Anleitung (https://github.com/arendst/Sonoff-Tasmota/wiki/Wemos-D1-Mini-and-HC-SR501-PIR-Motion-Sensor) weiter unten als bevorzugte Methode angegeben wird und triggerst in FHEM auf die Events des PIR nur zu deinen Wunschzeiten mit Hilfe von notify oder DOIF.
3. ? Da ich mich nie mit beschäftigt habe, ist es vielleicht mit dem Zeitplan in der Tasmota-Weboberfläche möglich ?
Gruß
Thomas
Rules kann man mit rule2 1|0 ein/ausschalten.
Mit Time#Minute==1080 (Rule2) kann man jeden Tag um 18:00 Uhr (1080 Minuten nach Mitternacht) die oben erwähnte bevorzugte Methode (Rule) einschalten und mit Time#Minute==420 (Rule3) wieder auschalten.
Wäre eine Variante, so meine ersten Gedanken nachdem ich mich eben kurz mit beschäftigt habe. Obs auch wirklich geht hab ich nicht getestet.
Gruß
Thomas
Hallo Thomas,
werde ich ausprobieren und poste dann mein Ergebnis hier.
Ich schaue mir die Rules dann auch mal näher an, die hätten den Vorteil das diese Funktion auch ohne FHEM zur Verfügung stehen.
Schonmal Danke für den Tipp und deine Hilfe.
Gruß
Günter
Hallo Thomas,
ich habe jetzt erstmal, zum Testen der Rules (Sonnenaufgang und Sonnenuntergang) getestet. Das funktioniert ganz gut. Ich werde dann später, wenn ich etwas mehr Zeit zum ausprobieren habe, mit festen Zeiten arbeiten.
Für alle die es interresiert hier der Code den ich verwendet habe:
Savedata 1
SwitchMode1 1
Rule1
on Switch1#state=1 do backlog event checksunrise=%time%; event checksunset=%time% endon
on event#checksunrise<%sunrise% do power1 1 endon
on event#checksunset>%sunset% do power1 1 endon
Rule1 1
Savedata 0
Das ganze gibt man über die Konsole in Tasmota ein.
Für mich ist das Problem gelöst.
Danke.
Gruß
Günter