PIR auf Basis Wall switch and HC-SR501

Begonnen von Billy, 01 Januar 2017, 14:18:46

Vorheriges Thema - Nächstes Thema

Timmi

#60
Hallo zusammen,

ich habe die aktuelle Version von Tasmota (master v5.5.2) auf ein Sonoff-Basic (Wireless control switch) geflasht und habe ein HC-SR501 mit überbrückter Diode angeschlossen, leider gelingt mir nicht den Wall-Switch GPIO14 vom Sonoff zu entkoppeln.

Ist es noch möglich GPIO14 vom Sonoff zu entkoppeln ?


Vielen Dank

Gruß
Tim   

Reinhart

was passiert denn wenn du in der Konsole "BUTTONTOPIC Alarm_SO2" eingibst?
Kommt da eine Fehlermeldung und kannst du den SwitchMode auf ON/OFF setzen?

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Timmi

Es kommt keine Fehlermeldung :

MQTT: stat/Sonoff_Tasmota/RESULT = {"ButtonTopic":"Alarm_SO2"}

Mit "Toggle" kann ich auf ON/OFF setzen.

Gruß
Tim

Reinhart

Toggle ist falsch, du musst den Switchmode unbedingt auf 1 ändern dann hast du die Tasten ON und OFF, das ist dann richtig.

Siehe dazu das Kapitel Switchmode im Wiki.

Ich mache das immer gleich in der user_config.h und setze auf FOLLOW
#define SWITCH_MODE            FOLLOW            // [SwitchMode] TOGGLE, FOLLOW, FOLLOW_INV, PUSHBUTTON, PUSHBUTTON_INV, PUSHBUTTONHOLD or PUSHBUTTONHOLD_INV (the wall switch state)


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Timmi

Danke für deine Antwort !

Ich habe die Einstellungen resetet und den Sketch neu compiliert und zwar jetzt mit

#define SWITCH_MODE   FOLLOW

Dann auf der Webseite unter "Configure Module" : GPIO14 auf 09Switch1 gesetzt und auf der Console : BUTTONTOPIC Alarm_SO2 ausgeführt.

Jetzt müsste eigentlich der Bewegungsmelder entkoppelt sein ?

Aber der PIR schaltet nach wie vor bei einer Bewegung den Sonoff.

Dann habe ich im Sketch :

#define SWITCH_MODE   TOGGLE


eingestellt und compiliert, GPIO14 auf 09Switch1 und auf der Console "BUTTONTOPIC Alarm_SO2" und "switchmode 1" ausgeführt, leider ohne Erfolg.

Auf FHEM steht bei mir :

Motion_pir       Alarm


Gruß
Tim

Reinhart

kann ich nun bestätigen, nachdem ich Tasmota 5.x installiert habe wird der PIR nicht mehr ausgekoppelt. Das scheint tatsächlich ein Fehler in Tasmota zu sein. In der installierten Version 3.9.17 hatte das tadellos so wie im Wiki beschrieben funktioniert.

Man sieht es auch schön in der Konsole, das bei Bewegung nur das Relais eingeschaltet wird, aber die gesetzte Alarmmeldung nicht via MQTT abgesetzt wird. Ich teste noch etwas herum und werde dann Theo informieren.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

so, habe mir nun die Sourcen etwas näher angesehen und herausgefunden, das anstatt von ButtonTopic nun SwitchTopic verwendet wird.

Es funktioniert nun schon auf Tasmota 5.5.2i, aber ich werde noch ein paar Tage ausgiebig testen und dann auch das Wiki nach den neuen Tasmota Versionen anpassen.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

TomLee

Hallo,

hab auch gestern mit der 5.2.0 mal einen Testaufbau gemacht allerdings auf einem Nodemcu. Da ist zwar nach meinem Verständnis nichts zu entkoppeln aber nach einem "BUTTONTOPIC NAME" passierte auch bei mir nichts.ON/OFF mit Switch1 funktioniert.
Heute hab ich noch zusätzlich einen Reed hinzugefügt (Switch2), bei der Suche wie ich das umzusetzen habe bin ich hier gelandet

https://github.com/arendst/Sonoff-Tasmota/issues/438

missverständlich hab ich ein

SwitchTopic2 1

ausgeführt. Jetzt bekomm ich wenn der PIR oder Reedkontakt auslösen immer wieder ein

stat/sonoffIRFR/RESULT = {"Command":"Unknown"}

Hier etwas mehr vom Log:

22:30:05 MQTT: cmnd/sonoffIRFR/POWER1 = ON
22:30:05 MQTT: stat/sonoffIRFR/RESULT = {"Command":"Unknown"}
22:30:15 MQTT: cmnd/sonoffIRFR/POWER1 = OFF
22:30:15 MQTT: stat/sonoffIRFR/RESULT = {"Command":"Unknown"}
22:30:19 MQTT: cmnd/sonoffIRFR/POWER2 = OFF
22:30:20 MQTT: stat/sonoffIRFR/RESULT = {"Command":"Unknown"}
22:30:20 MQTT: cmnd/sonoffIRFR/POWER2 = ON
22:30:20 MQTT: stat/sonoffIRFR/RESULT = {"Command":"Unknown"}


Wie mach ich das wieder rückgängig?

Timmi

@TomLee
Wenn gar nichts mehr hilft, kannst du mit "Reset Configuration" alle Einstellungen auf Default setzen.


@Reinhart
Danke für deine Mühe, mit SwitchTopic klappt endlich das Entkoppeln  :)


Gruß
Tim

Reinhart

#69
Habe nun das Wiki schon mal auf Tasmota 5.x angepasst, die ersten Rückmeldungen auf korrekte Funktion habe ich ja schon. Ich teste aber noch weiter aber es dürfte so alles stimmen.

tele/sonoff_wall1/SENSOR {"Time":"2017-08-19T07:39:39", "Switch1":"OFF"}
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'cmnd/Alarm_SO2/POWER1', ... (2 bytes))
cmnd/Alarm_SO2/POWER1 ON
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'cmnd/sonoff_wall1/1/POWER', ... (2 bytes))
cmnd/sonoff_wall1/1/POWER ON
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'stat/sonoff_wall1/RESULT', ... (14 bytes))
stat/sonoff_wall1/RESULT {"POWER":"ON"}
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'stat/sonoff_wall1/POWER', ... (2 bytes))
stat/sonoff_wall1/POWER ON
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'cmnd/sonoff_wall1/1/POWER', ... (2 bytes))
cmnd/sonoff_wall1/1/POWER ON
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'stat/sonoff_wall1/RESULT', ... (14 bytes))
stat/sonoff_wall1/RESULT {"POWER":"ON"}
Client mosqsub/16644-raspberry received PUBLISH (d0, q0, r0, m0, 'stat/sonoff_wall1/POWER', ... (2 bytes))
stat/sonoff_wall1/POWER ON

Die Ausgabe am Broker passt

07:39:39 MQTT: cmnd/Alarm_SO2/POWER1 = ON
07:39:39 MQTT: stat/sonoff_wall1/RESULT = {"POWER":"ON"}
07:39:39 MQTT: stat/sonoff_wall1/POWER = ON
07:39:40 MQTT: stat/sonoff_wall1/RESULT = {"POWER":"ON"}
07:39:40 MQTT: stat/sonoff_wall1/POWER = ON
07:40:12 MQTT: cmnd/Alarm_SO2/POWER1 = OFF
07:40:12 MQTT: stat/sonoff_wall1/RESULT = {"POWER":"ON"}
07:40:12 MQTT: stat/sonoff_wall1/POWER = ON
07:40:12 MQTT: stat/sonoff_wall1/RESULT = {"POWER":"OFF"}
07:40:12 MQTT: stat/sonoff_wall1/POWER = OFF

und in der Konsole sieht es auch gut aus, was mir noch nicht gut gefällt ist die Tatsache, das nach der entkoppelten Alarmmeldung zuerst die Meldung "ON" kommt, weil zu dieser Zeit ja noch nicht umgeschaltet wurde und Zehntelsekunden später erst "OFF". Das ist aber nur ein Schönheitsfehler und hat keine Auswirkung auf die Funktion.

Meine Konfigs die ich zum testen benutze sehen so aus:
### Motion ###
# ------------- Sonoff_2 mit Wall und Bewegungsmelder ---------------
define Sonoff_wall1 MQTT_DEVICE
attr Sonoff_wall1 IODev myBroker
attr Sonoff_wall1 eventMap ON:on OFF:off
attr Sonoff_wall1 group Sonoff
attr Sonoff_wall1 icon hue_filled_br30
attr Sonoff_wall1 publishSet ON OFF cmnd/sonoff_wall1/1/POWER
attr Sonoff_wall1 room Entwicklung
attr Sonoff_wall1 stateFormat Licht
attr Sonoff_wall1 subscribeReading_Licht stat/sonoff_wall1/POWER
attr Sonoff_wall1 subscribeReading_state cmnd/sonoff_wall1/1/POWER
attr Sonoff_wall1 webCmd :


# entkoppelten Alarm überwachen
define Motion_1 MQTT_DEVICE
attr Motion_1 IODev myBroker
attr Motion_1 devStateIcon on:on-for-timer off:off
attr Motion_1 eventMap ON:on OFF:off
attr Motion_1 group Sonoff
attr Motion_1 icon people_sensor
attr Motion_1 room Entwicklung
attr Motion_1 stateFormat Alarm
attr Motion_1 subscribeReading_Alarm cmnd/Alarm_SO2/POWER1


# ------------------ DoIf zur Motion Abfrage -----------------
define di_Sonoff_2_Alarm DOIF ([Motion_1:"on"] and [twilight_weather:twilight_weather] < 35) (set Sonoff_wall1 on) DOELSEIF ([Motion_1:"off"] and [twilight_weather:twilight_weather] < 35) (set Sonoff_wall1 off)
attr di_Sonoff_2_Alarm do always
attr di_Sonoff_2_Alarm group Sonoff
attr di_Sonoff_2_Alarm room Entwicklung



define twilight_weather Twilight 48.32715326436728 14.26767826080322
attr twilight_weather icon weather_rain_light
attr twilight_weather room Wettervorhersage
attr twilight_weather stateFormat twilight_weather

hier noch das Beispiel wie Twilight erfasst werden kann. Den Längen- und Breitengrad einfach nach euren Bedürfnissen anpassen, sonst geht die Sonne zu früh oder zu spät auf.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

Zitat von: TomLee am 18 August 2017, 22:33:29
missverständlich hab ich ein

SwitchTopic2 1

ausgeführt. Jetzt bekomm ich wenn der PIR oder Reedkontakt auslösen immer wieder ein

stat/sonoffIRFR/RESULT = {"Command":"Unknown"}

Wie mach ich das wieder rückgängig?

wenn dir sowas passiert, einfach rückgängig machen mit
SwitchTopic 0
dann hast wieder die Originaleinstellung.

oder mit
SwitchTopic
abfragen wie der Wert eingestellt ist.

Bei der SwitchTopic hast ja mehrere Möglichkeiten, die beste ist einen Alarmstring zu definieren, den genau auf den kannst dann in Fhem filtern wenn dies notwendig ist. Notwendig ist es nur wenn du das Signal des PIR entkoppeln willst. Das ist eigentlich immer der Fall, denn sonst hast du bei den billigen PIR keinen Helligskeitwert und er schaltet auch am Tag. Entkoppelst du, dann kannst zusätzlich die Helligkeit im Notifiy mit berücksichtigen (siehe oben im Beispiel).

Du kannst das Thema SwitchTopic auch in Theos Wiki nachlesen.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Timmi

Vielen Dank Reinhart !

Es funktioniert einwandfrei und sieht super aus

Gruß
Tim

Reinhart

sehr gut, eigentlich ist "SwitchTopic" ja logischer als ButtonTopic und Theo hat das in Tasmota geändert. Im Prinzip nur eine Kleinigkeit.

Gut das du es gemeldet hast, denn sonst kommt man lange nicht drauf, denn die bestehenden Installationen werden ja kaum geändert und die funktionierten ja nach wie vor.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Amenophis86

Ich habe eine Frage zu dem Projekt. Ich möchte über einen Bewegungsmelder einen LED Streifen schalten. Allerdings soll dieser je nach Uhrzeit unterschiedlich hell leuchten. Bei dem Projekt hier wird automatisch sobald Bewegung erkannt wird der Sonoff über das Programm auf dem Sonoff eingeschaltet, oder geht die Bewegungsmeldung erst an FHEM und FHEM schaltet den Sonoff dann ein?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Bapt. Reverend Magersuppe

Wenn Du das Topic "ablöst" wie im Wiki beschrieben geht das vom sonoff erst zum fhem und das erteilt den Schaltbefehl. So stehts im Wiki.
Wenn Du den Button/IR-Sensor an dem anderen Pinchen vom Sonoff ansteckst musst du bei allem bedenken das richtige Topic zu nummerieren. Buttontopic1 nennt man es dann.

Dimmen kann der sonoff doch gar nicht.

--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!