NEWS
Park-Ampel
-
@wal sagte in Park-Ampel:
@th16 ,
ich kapier das noch nicht.
Hängen die Leds an dem Wemos oder nur der Enfernungsmesser ?Ja, die LEDs hängen direkt am Wemos.
-
@tt-tom sagte in Park-Ampel:
@wal das liest sich so, als wenn er die Ampel über das blokly steuert.
Persönlich würde ich ein eignes Script auf den wemos spielen und die Ampel direkt steuern. Den Status dann an den Broker senden.Tja, genau da haperts bei mir. Mehr als Blockly kann ich leider nicht.
-
@th16
Also dein Abstandmesser und die Ampel hängen am Wemos. Dann ist ein Script auf dem Wemos das einzig richtige. Da wir den Sensor und die Parameter nicht kennen, wird es schwer dir zu helfen. -
evtl mit so einer rule https://tasmota.github.io/docs/Rules/#transmit-sensor-value-only-when-a-delta-is-reached
-
Der Sensor ist ein HC-SR04 von AZDelivery, der Wemos ein Mini V.3
So sieht die Startseite auf dem Wemos aus:
Und so die Konfigurationsseite:
An den 3 Relais-Ausgängen hängen jeweils die 3 LEDs.
-
@liv-in-sky sagte in Park-Ampel:
evtl mit so einer rule https://tasmota.github.io/docs/Rules/#transmit-sensor-value-only-when-a-delta-is-reached
Sorry, doch da fehlt es mir an den Kenntnissen, da bräuchte ich Hilfe.
Wie würde denn so eine Rules in meinem Fall aussehen, wenn folgendes erfüllt wäre:
-
so genau weiß ich das auch nicht (habe nur einfache rules bis jetzt gemacht)- ich könnte nur mal morgen etwas rum-probieren - aber vielleicht meldet sich noch jemand, der mehr erfahrung mit rules hat
-
@liv-in-sky
Da muss ich auch erstmal passen. Am Handy klappt das sowieso nicht. Bleibe aber mit dran. -
@th16 ,
zeig mal den Tasmota-Log mit den Werten des Sensors. -
meinst du das: ?
19:43:56.456 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:43:56","SR04":{"Distance":31.7}} 19:43:56.585 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:43:56.590 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:43:56.633 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:43:56.636 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:43:56.734 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:43:56.739 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:44:06.425 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:06","Uptime":"2T02:19:48","UptimeSec":181188,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:44:06.435 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:06","SR04":{"Distance":31.7}} 19:44:06.565 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:44:06.570 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:44:06.665 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:44:06.670 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:44:06.716 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:44:06.721 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:44:16.447 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:16","Uptime":"2T02:19:58","UptimeSec":181198,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":84,"Signal":-58,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:44:16.457 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:16","SR04":{"Distance":31.7}} 19:44:16.637 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:44:16.642 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:44:16.688 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:44:16.691 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:44:16.737 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:44:16.741 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:44:26.433 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:26","Uptime":"2T02:20:08","UptimeSec":181208,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":84,"Signal":-58,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:44:26.442 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:26","SR04":{"Distance":31.7}} 19:44:26.572 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:44:26.577 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:44:26.621 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:44:26.626 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:44:26.672 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:44:26.676 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:44:36.458 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:36","Uptime":"2T02:20:18","UptimeSec":181218,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:44:36.467 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:36","SR04":{"Distance":31.7}} 19:44:36.697 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:44:36.702 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:44:36.747 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:44:36.751 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:44:36.798 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:44:36.803 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:44:46.458 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:46","Uptime":"2T02:20:28","UptimeSec":181228,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":31,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:44:46.468 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:46","SR04":{"Distance":31.7}} 19:44:46.746 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:44:46.752 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:44:46.797 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:44:46.802 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:44:46.847 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:44:46.852 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:44:56.412 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:44:56","Uptime":"2T02:20:38","UptimeSec":181238,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:44:56.421 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:44:56","SR04":{"Distance":31.7}} 19:44:56.701 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:44:56.707 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:44:56.751 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:44:56.756 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:44:56.801 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:44:56.804 MQT: stat/Park-Ampel_Garage/POWER3 = OFF 19:45:06.457 MQT: tele/Park-Ampel_Garage/STATE = {"Time":"2023-04-01T19:45:06","Uptime":"2T02:20:48","UptimeSec":181248,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"KON","BSSId":"CC:2D:21:55:C1:31","Channel":13,"Mode":"11n","RSSI":82,"Signal":-59,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:45:06.467 MQT: tele/Park-Ampel_Garage/SENSOR = {"Time":"2023-04-01T19:45:06","SR04":{"Distance":31.7}} 19:45:06.647 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER1":"OFF"} 19:45:06.651 MQT: stat/Park-Ampel_Garage/POWER1 = OFF 19:45:06.698 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER2":"OFF"} 19:45:06.703 MQT: stat/Park-Ampel_Garage/POWER2 = OFF 19:45:06.749 MQT: stat/Park-Ampel_Garage/RESULT = {"POWER3":"OFF"} 19:45:06.753 MQT: stat/Park-Ampel_Garage/POWER3 = OFF
-
@th16 ,
da gibt es schon ein script (Quelle) dafür das kannst du anpassen. Mittelwert und Temperatur brauchst du nicht.
Du siehst wie der Sensor eingelesen wird, danach machst du ein Vergleich <> und setzt die Ausgänge direkt im Wemos.
Wenn du dich ein wenig mit befasst kommst du schnell zu einer Lösung. Hilfe bekommst du hier.
Falls du eine Script-Firmware brauchst mach ich dir eine.>D m:Mittel1=0.0 m:Mittel2=0.0 m:Mittel3=0.0 m:Mittel4=0.0 m:Mittel5=0.0 Weg=0.0 Messwert=0.0 Hoehe=119.5 tRaum=0.0 corf=0.0 Inhalt=0.0 >T Weg=SR04#Distance tRaum=AM2301#Temperature >W Messwert %Messwert% Inhalt %Inhalt% Mittel 1 %Mittel1% Mittel 2 %Mittel2% Mittel 3 %Mittel3% Mittel 4 %Mittel4% Mittel 5 %Mittel5% >S corf=1/((331.5+(0.6*tRaum))/2)*10000 Messwert=(Weg+((90-Weg)*0.0195))*58.12/corf Mittel1=Hoehe-Messwert if Mittel1[0]==4 then Mittel2=Mittel1 if Mittel2[0]==4 then Mittel3=Mittel2 if Mittel3[0]==4 then Mittel4=Mittel3 if Mittel4[0]==4 then Mittel5=Mittel4 if Mittel5[0]==4 then Inhalt=((Mittel5*7513)-16582)/1000 =>publish stat/%topic%/RESULT {"Abstand":%Mittel5%} =>publish stat/%topic%/RESULT {"Inhalt":%Inhalt%} endif endif endif endif
-
Oha, na das kann ja was werden...
Da muss ich mich morgen erstmal damit einarbeiten.Vorerst vielen Dank und einen schönen Abend.
-
@th16 ,
habe gerade Lust, werde mal ein Script vorbereiten.Edit: @th16 ,
mal was schnelles, ohne Gewähr da ich das nicht testen kann.>D Weg=0.0 >E Weg=SR04#Distance if (Weg<250 and Weg>130) then =>power1 1 else =>power1 0 endif if (Weg<150 and Weg>50) then =>power2 1 else =>power2 0 endif if (Weg<60 and Weg>35) then =>power3 1 else =>power3 0 endif if (Weg<99 and Weg>1) then =>publish stat/%topic%/RESULT {"AutoInGarage":"True"} else =>publish stat/%topic%/RESULT {"AutoInGarage":"False"} endif >S =>publish stat/%topic%/RESULT {"Abstand":%Weg%} >W Abstand:{m} %1Weg% cm
-
Vielen herzlichen Dank für Deine Mühe!
Da ich mit sowas noch nie zu tun hatte und ich, wie schon erwähnt, alles nur in Blockly mache - wie bekomme ich das Alles in den Wemos rein?
Über die Konsole, jede Zeile einzeln, oder zusammen?
Oder ganz anders...?
Sorry das ich Dich nerve, aber könntest Du mir da noch einen Tipp geben?
Ich möchte da auch ungern was kaputt machen. -
@th16 ,
du musst nur eine Tasmota Firmware mit Script flashen, danach den Script-Editor aufrufen und das Script einfügen.
Den Editor findest du im Menüpunkt Konsole.
Evtl. mit einem anderen Wemos testen ?
-
@wal
"Tasmota Firmware mit Script flashen"?
Was ist "mit Script flashen"?
Ich flashe immer mit dem ESP-Flasher. Der hat zwar unten auch eine Konsole drin, aber dort kann man nichts reinschreiben, nur auslesen. Zur Verwendung mit dem o.g. Sensor habe ich die "Tasmota-Sensor-Version" benutzt, so wie es von Tasmota vorgesehen ist.
Bei Deiner Konsole sehe ich oben angehakt "Skript aktivieren". So einen Punkt gibt es bei mir nicht.
Ist mir auch noch nie aufgefallen. Wie komme ich dahin? Wie kann ich das aktivieren?
So sieht es bei mir aus:
-
@th16 sagte in Park-Ampel:
Bei Deiner Konsole sehe ich oben angehakt "Skript aktivieren". So einen Punkt gibt es bei mir nicht.
Weil du keine Firmware mit Scriptunterstützung geflasht hast.
Hier findest du eine.Mit diesem Skript bekommst du jede Sekunde den Abstand und kannst dein Blockly weiter nutzen.
Es muss nur der Datenpunkt im Blockly geändert werden, da das Abstandsobjekt einen anderen Namen hat.>D Weg=0.0 >E Weg=SR04#Distance >S =>publish stat/%topic%/RESULT {"Abstand":%Weg%} >W Abstand:{m} %1Weg% cm
-
@wal
Vielen Dank!
Werde ich gleich alles mal ausprobieren. -
@wal
Ich habe mir die "tasmota-scripting.bin" runtergeladen, geflasht und Dein Script eingefügt - so weit so gut.
Nun wollte ich den Sensor SR04 auswählen, doch den gibt es ja nur in einem Sensor.bin.
Also bräuchte ich entweder eine scripting.bin wo der Sensor mit drin ist, oder eine sensor.bin wo ich auch ein Script einlesen kann.
Doch wo hernehmen? Kannst Du mir da weiterhelfen? -
@th16 ich habe mal ein paar tests gemacht
dazu eine rule:
rule1 ON SR04#distance<100 DO backlog publish tele/sonoff/Distance %value%; var1 %value% ENDON
ich habe aber festgestellt, das der sensor mit tasmota eher langsam reagiert - mit der rule wird unter 100 sofort gesendet - es dauert - so finde ich - aber immer noch zu lange - vorallem, wenn ich mir vorstelle, das die letzten centimeter beim einparken wirklich schnell kommen müssen
ich habe auch mit einem anderen sensor gemessen (VL53L0X) - der ist auch nicht schneller - ich gehe davon aus, dass es an tasmota liegt
siehst du hier - ich bewege mich zum sensor hin- schneller wird nicht gesendet:
ich denke, du solltest es mal mit esphome versuchen - ist am anfang etwas kompliziert aber ich verwende mittlerweile lieber esphome für sensoren