[Gelöst] Sonoff Basic mit PIR

Begonnen von Heartbreak, 02 Juli 2019, 22:06:54

Vorheriges Thema - Nächstes Thema

Heartbreak

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




TomLee

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

Heartbreak

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

TomLee

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, 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 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

TomLee

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

Heartbreak

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

Heartbreak

#6
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