NEWS
[Geloest] Radarsensor steuern
-
Hallo,
ich habe folgendes Problem bzw Frage:
In einen Sonoff S20 habe ich einen Radarsensor RCWL-0516 eingebaut. Idee ist, dass der S20 für einen Zeitraum x eingeschaltet wird, wenn der Sensor eine Bewegung erfasst.Wenn ich in einem Script sage, dass bei Bewegung eine andere Lampe ein und wider ausgeschaltet werden soll, klappt das problemlos, im Beispiel wird eine Regalbeleuchtung an- und nach 5 Sek wieder ausgeschaltet:
Mein Problem ist, wenn ich den S20 selbst ein- und wieder ausschalten will, dann funktioniert das nicht, der läuft in eine "Endlosschleife", geht an, nach 5 Sek wieder aus, direkt wieder an usw.
In den Objekten im ioBroker sehe ich auch, das mit dem Ausschalten des S20 der Datenpunkt des Radarsensors kurz auf "true" springt, damit ist der Trigger im Blockly Script wieder gesetzt und es geht von vorne los.
Ich vermute, dass allein aufgrund des Ausschaltens der Radarsensor wieder auslöst. Man könnte das umgehen indem man den Trigger während des Ausschaltens deaktiviert und erst danach wieder aktiviert, ich habe aber keine Idee wie man das machen könnte. Oder gibt es da eine andere schlaue Vorgehensweise?
Hoffe, dass Problem ist einigermaßen verständlich beschrieben...VG
Andreas -
änder des Triggers auf wurde geändert
und dann untenwenn wert dann
regal power wahr
sonst regal power unwahr mit 5 sek verzögerung(wert findest du unter Trigger, der Baustein wo Object id steht dann in der Liste Wert auswählen) Der Baustein bezieht sich immer auf den Trigger...
-
Das wars leider nicht. Ich habe das mal geändert (und für das Schalten eines anderen Geräts (hier Regal) funktioniert es auch, aber wenn ich den Sonoff selbst schalten will habe ich denselben Effekt (Bei Bewegung geht er an, nach 5 Sek geht er aus und direkt wieder an etc.)
Das Problem ist weiterhin, dass bei Bewegung der Sensor auf True geht (Datenpunkt "POWER1" und nach ca 2 Sek auf False zurückwechselt) was ok ist. Wenn dann aber nach 5 Sek der Sonoff wieder ausschaltet (Datenpunkt "POWER" wechselt von True auf False, dann springt gleichzeitig der Datenpunkt "POWER1" kurz auf true (und löst das Skript wieder aus...
VG
Andreas -
@amg_666
wenn ich das nun richtig verstehe dann musst du den Power 1 entprellen wenn du ausschaltest.Ich würde dazu eine Variable erstellen und den Wert der Variable auf true setzten wenn du ausschaltest sagen wir 5 sek und während dessen nicht einschalten.Also oben noch mit abfragen ob die Variable nicht true ist.Zusätzlich dann noch aus dem
"sonst"-> "sonstfalls" =Power= true machen damit kein loop entsteht. und nimm auch noch den haken löschen falls läuft mit rein. -
@Adnim
Danke, musste ein bisschen basteln aber jetzt läuft es. Elegant geht aber anders, ich werd mal versuchen die Ursache zu beheben und den Radarsensor anders im Shelly auszurichten, damit er garnicht erst durch den "Ausschaltimpuls" anspringt... -
@amg_666 Ich habe das gleiche Prtoblem.
Meine Gedanken gehen dahin das ich den eventuell direkt in Tasmota entprelle. Eventuell fällt mir da was über die Rules in die Finger. -
@Chaot Wenn du das über Tasmota Einstellungen gelöst bekommst, würde ich mich über eine Info freuen, wie du das gemacht hast.
-
rule1 on switch1#state do backlog power1 %value%; ruletimer1 30 endon on rules#timer=1 do power1 off endon
schaltet den Ausgang für 30 Sekunden an, egal was weiter vom Radarsensor kommt.
Der Timer ist variabel, so das du auch direkt das lösen kannst ohne über den ioBroker zu gehen. -
@Chaot Wenn ich das in der Konsole eingebe kommt als Antwort:
00:03:30 MQT: stat/sonoff/RESULT = {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":411,"Rules":"on switch1#state do backlog POWER1 %value%; ruletimer1 30 endon on rules#timer=1 do POWER1 off endon"}
und dann passiert beim Auslösen des Sensors nix...
-
@amg_666 Oh, vergessen.
Du musst die Rule noch aktivieren:rule1 1
nachzulesen hier:
https://forum.creationx.de/lexicon/index.php?entry/24-rules/ -
@Chaot Danke für den Link, Switchtopic 0 war nicht gesetzt.
Aaaaber: jetzt löst die Rule aus und ich hab denselben Effekt wie vorher
Der Schalter ist AUS. Ich bewege mich, der Schalter geht AN und nach 30 Sek aus, und dann gehts los:00:27:54 MQT: stat/sonoff/POWER = OFF 00:27:54 RUL: SWITCH1#STATE performs "backlog power1 1; ruletimer1 30" 00:27:54 MQT: stat/sonoff/RESULT = {"T1":30,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0} 00:27:55 MQT: stat/sonoff/RESULT = {"POWER":"ON"} 00:27:55 MQT: stat/sonoff/POWER = ON 00:27:55 MQT: stat/sonoff/RESULT = {"T1":30,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0} 00:27:58 RUL: SWITCH1#STATE performs "backlog power1 0; ruletimer1 30" 00:27:58 MQT: stat/sonoff/RESULT = {"POWER":"OFF"} 00:27:58 MQT: stat/sonoff/POWER = OFF 00:27:58 RUL: SWITCH1#STATE performs "backlog power1 1; ruletimer1 30" 00:27:58 MQT: stat/sonoff/RESULT = {"T1":30,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0} 00:27:59 MQT: stat/sonoff/RESULT = {"POWER":"ON"} 00:27:59 MQT: stat/sonoff/POWER = ON 00:27:59 MQT: stat/sonoff/RESULT = {"T1":30,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0} 00:28:02 RUL: SWITCH1#STATE performs "backlog power1 0; ruletimer1 30" 00:28:02 MQT: stat/sonoff/RESULT = {"POWER":"OFF"} 00:28:02 MQT: stat/sonoff/POWER = OFF
Irgendeine Idee?
-
@amg_666 Das sieht aus als würde der ständig an gehen.
Wie hast du den angeschlossen?
Vin = 5V
GND = GND
OUT = AusgangDer Pin 3,3V auf dem Modul ist kein Eingang sondern ein Ausgang. Das Modul muss 5V haben.
Mit 3,3V macht es solchen Quatsch. -
@Chaot Ähm, ich bin jetzt leicht verwirrt: Ja das Teil war falsch verdrahtet ich hatte Strom auf Pin 3.3V gelegt, habe ich jetzt auf Vin geändert.
Eigentlich super, das Teil funktioniert jetzt, aber du musst mir bitte nochmal auf die Sprünge helfen:- "Das Modul muss 5V haben" ??? Der Sonoff hat 4 Pins: GND, TX, RX, VCC und VCC hat doch nur 3.3V, wo soll ich 5V abgreifen?
- Mit deinem Beispiel schaltet er für 3 Sek, nicht 30 Sek, hab ich da noch einen Fehler oder soll ich einfach den Timer im Befehl hochsetzen.
Vielen Dank für deinen Support, das hat mich schonmal echt weiter gebracht!!!
-
@amg_666
zu1 Am Sonoff sitzt irgendwo ein kleiner Spannungsregler (wenn ich mich richtig erinnere). Der hat 5V am Eingang.zu2 komisch - bei mir sind das 30 Sekunden.
Welche Firmware ist denn da drauf?
-
Ich hab jetzt mal einen anderen Radarsensor eingebaut, gleicher Effekt. Grundsätzlich funktionierts, schaltet aber nur für ca 3 Sek. Ich hab auch in dem Konsolenbefehl von dir mal ein bisschen rumgespielt mit den Timerwerten, das bringt keinerlei Änderung...
Tasmota 6.6.0
PulseTime ist "0" (hätte ja sein können...) -
@amg_666 Ich habe den jetzt auf einen neuen Wemos geflasht (allerdings die 6.7.1) um zu testen.
Das funktioniert genau mit 30 Sekunden.Was mir in deinem Log auffällt: Hat der keine aktuelle Uhrzeit?
Vielleicht liegt es irgendwie daran?
Ansonsten fällt mir da ehrlich gesagt auch nichts ein woran es noch scheitern könnte. -
@Chaot Erstmal danke für deinen Support, aber ich gebe jetzt auch langsam auf...
Ich habe irgendwann aus Sicherheitsaspekten alle Smarthome Devices am router blockiert, so dass die nicht mehr ins Internet können (Hintergrund war eine China Kamera, die immer wieder irgendwleche Nachrichten senden wollte). Damit können die Devices natürlich auch keinen NTP Server erreichen, daher fehlt die Uhrzeit. Das habe ich geändert auf NTP Server der Fritzbox, das funktioniert, allerdings löst es das Problem mit den 3 Sek nicht.Irgenwie hatte ich dann die Schnauze voll und habe den S20 Flashspeicher komplett leer überschrieben und anschließend erneut geflasht mit der 6.6.0. Das hat leider überhaupt nichts gebracht. Ich werde nochmal eine aktuellere Version ausprobieren, evtl hat ja auch der Sonoff selbst irgendeine Macke...
-
@Chaot Hallo nochmal,
ein letzter Versuch : Ursprünglich wollte ich ja mein Skript zumLaufen bringen und das funktioniert jetzt auch einwandfrei (Ursache war sehr wahrscheinlich der falsche Power-Anschluss über 3,3V und nicht über Vin.
Deine Lösung direkt im Device finde ich aber viel eleganter und würde die gerne bei mir ans Laufen bringen. Egal welche Timeränderungen ich vornehme es sind immer knapp 3 Sek. Und knapp 3 Sek ist auch genau die Zeit, die der Radarsensor sein Signal sendet, bei Bewegung. Also ist die Ursache hier wohl, dass deine Kommandozeile bei mir garnicht greift.
Ich hatte den Sensor so wie in einem Video auf Youtube gesehen eingebaut und auch konfiguriert und der User hatte dort zum "Entkoppeln von Sensor und Device den SwitchTopic auf einen anderen Wert (z.B. Radar) gesetzt, das hatte ich auch gemacht und später wieder SwitchTopic 0 gesetzt. Du fragst in deiner Kommandozeile "Switch1" ab, bei Switch1 sehe ich bei mir überhaupt keine Änderungen, wenn der Sensor auslöst, Power1 springt aber für die 3 Sek auf True...
Kannst du mir bitte mal deine Tasmota Konfig geben zum Abgleichen?Mein Setting ist jetzt
Switchtopic "" (ist leer)
Switchmode 1
GPIO1 ist auf Switch1 (9) gesetzt.Im IOBroker sieht das Objekt so aus (Power1 ändert sich, Switch1 nicht):
-
@Chaot und so funzt es bei mir jetzt auch:
rule1 on switch1#state do backlog power on; ruletimer1 30 endon on rules#timer=1 do power off endon
Warum setzt du hinter dem power das Argument %value%, das habe ich nicht verstanden. Ums überhaupt hinzukriegen habe ich da jetzt einfach on genommen...
-
@amg_666
Das %value% steht noch aus einer anderen Anwendung drin.
Da sollte schon "on" stehen.
Das habe ich bei copy&paste aus meinen Notizen scheinbar komplett übersehen.