Beiträge von bishop

    Hi,

    hab an meinen Rollläden die Sonoff t1 touch Schalter.

    Dies hab ich jetzt mit dem LD2410 erweitert um in den Räumen Presence zu erkennen.

    Funktioniert soweit bekomme Distanz Werte. In dem Beispiel 0 :) also keiner da.

    Code
    10:20:32.230 MQT: tele/RolladenKueche/STATE = {"Time":"2024-12-13T10:20:32","Uptime":"4T20:22:04","UptimeSec":418924,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":13,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Privat","BSSId":"74:AC:B9:21:DC:4B","Channel":6,"Mode":"11n","RSSI":54,"Signal":-73,"LinkCount":3,"Downtime":"0T00:00:07"}}
    10:20:32.236 MQT: tele/RolladenKueche/SENSOR = {"Time":"2024-12-13T10:20:32","LD2410":{"Distance":[0.0,0.0,0.0],"Energy":[0,0]},"Shutter1":{"Position":100,"Direction":0,"Target":100,"Tilt":0}}  

    Ist es möglich eine Rule zu machen die bei einem Abstand z.b. 200cm ein Datenpunkt (virtuell, MQTT) "Präsenz True" sendet ?

    Grüße und danke schon mal

    gibt es wo eine Scriptsammlung die man auf seine bedürfnisse anpassen kann?

    hier mal meins mit fehlern!

    Gas tagesverbrauch bekomme ich einfach nicht hin.

    Spoiler anzeigen

    >D

    s1="Tagesverbrauch: {m}<b><span style="

    v2=0

    v3=0

    hr=0

    md=0

    yr=0

    ;Strom

    p:sm=0

    sd=0

    p:sma=0

    smn=0

    p:sya=0

    syn=0

    sspr=0.35

    yspr=0

    ysgp=172.92

    y€=0

    ;Gas

    p:gm=0

    p:gv=0

    gt=0

    gd=0

    sgf=0.9507

    sgz=11.279

    sgk=0


    >T

    v2=SML#DJ_TPWRIN

    v3=GAS#Total_In

    >B

    ->sensor53 r

    >S

    ;Tagesverbrauch_Strom und GAS

    hr=hours

    if chg[hr]>0

    and hr==0

    and v2>0 {

    sm=v2

    gv=gt

    gm=v3

    svars

    }

    if upsecs%tper==0 {

    sd=v2-sm

    gd=v3*sgf*sgz-gm

    gt=sgk-gd

    }


    ;Monatsverbrauch

    md=day

    if chg[md]>0

    and md==1

    and v2>0

    then

    sma=v2

    svars

    endif

    if upsecs%tper==0{

    smn=v2-sma

    }

    ;Jahresverbrauch

    yr=year

    if chg[yr]>0

    and hr==0

    and md==1

    and v2>0

    then

    sya=v2

    svars

    endif

    if upsecs%tper==0{

    syn=v2-sya

    ;Kosten

    yspr=syn*sspr+ysgp

    ;Gas in KWh

    sgk=v3*sgf*sgz

    }

    >J

    ,"Verbrauch Tag":"%sd%"

    ,"Verbrauch_Monat":"%smn%"

    ,"Verbrauch_Jahr":"%syn%"

    ,"Zählerstand_0:00Uhr":"%3sm%"

    ,"Zählerstand_Monatsanfang":"%3sma%"

    ,"Zählerstand_Jahrenanfang":"%3sya%"

    ,"Kosten_dieses_Jahr":"%2yspr%"

    ,"Gas_in_KWh":"%2sgk%"

    ,"Gas_Zählerstand_0:00Uhr":"%2gd%"

    ,"Gas_tagesverbrauch":"%2gt%"

    >W

    ==============

    Strom:

    Tagesverbrauch: {m} %3sd% KWh

    Monatsverbrauch: {m} %3smn% KWh

    Jahresverbrauch: {m} %3syn% KWh

    ==============

    Gas:

    Tagesverbrauch: {m} %2gt% KWh

    ==============

    Strom Preis/kWh: {m} %4sspr% €

    Strom Grundpreis: {m} %2ysgp% €

    Gas Faktor: {m} %4sgf%

    Gas Zustandszahl {m} %3sgz%

    --------------

    Strom kosten lfd. Jahr:{m} %2yspr% €

    ==============

    Strom Zählerstände:

    aktuell: {m} %3v2% KWh

    0:00 Uhr: {m} %3sm% KWh

    Monatsanfang: {m} %3sma% KWh

    Jahresanfang: {m} %3sya% KWh

    ==============

    Gas Zählerstand:

    Aktuell in KWh: {m} %2sgk% KWh

    0:00 Uhr: {m} %2gd% KWh

    >M 2

    +1,3,s,16,9600,SML

    +2,4,c,1,50,GAS

    1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,4

    1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0

    //1,77070100240700ff@1,Verbrauch L1,W,DJ_TPWRCURR1,0

    //1,77070100380700ff@1,Verbrauch L2,W,DJ_TPWRCURR2,0

    //1,770701004C0700ff@1,Verbrauch L3,W,DJ_TPWRCURR3,0

    //1,77070100000009ff@#,Service ID,,Meter_id,0

    2,1-0:1.8.0*255(@100,Zählerstand,m³,Total_In,2

    #

    HoerMirAuf

    Habe das mal nachgebaut in ein selbst gedrucktes Gehäuse von Thingiverse. Soweit funktioniert alles, habe dort noch ein am312 Bewegungsmelder verbaut. Um die Messung und die Led´s ausschalten und wieder einschalten zu können.

    Da ist auch schon meine Frage!

    Kann man in die Rule einbauen, dass die Messung und der Led Ring nach z.b. 300sek aus gehen und sobald der Bewegungsmelder Bewegung registriert die Messung und Led wieder für 300 sek an gehen!?!

    ahhh.. super

    habe jetzt mal etwas rumgespielt!

    so funktioniert es mal nach meinen paar Tests, kann man die Rules so machen?

    Benötige ich "event Timer1 endon" und dann "on event#timer1 do blabla endon" überhaupt, was macht das für ein Unterschied?

    Vielen Vielen Dank für deine Hilfe

    Vielen

    Hallo,

    habe diese Rule auch bei mir am laufen, funktioniert auch soweit.

    Code
    rule1
      ON DS18B20-1#temperature DO event t1=%value% ENDON
      ON DS18B20-2#temperature DO event t2=%value% ENDON
      ON event#t1<%mem3% DO var1 1 ENDON
      ON event#t1>=%mem3% DO var1 0 ENDON
      ON event#t1 DO Backlog var2 %value%; add2 3 ENDON
      ON event#t1 DO Backlog var3 %value%; add3 6 ENDON
      ON event#t2>%var3% DO Power1 %var1% ENDON
      ON event#t2<%var2% DO Power1 0 ENDON

    ich filtere das Wasser aber auch mit dieser Pumpe. Habe mir somit 4 timer angelegt die mir die Pumpe einschalten und wieder ausschalten.

    Mit der oberen Rule schalte ich mir ja die Pumpe aus wenn ich umwälzen will. Ist es möglich die Rule1 abzuschalten wenn der Timer läuft?

    hatte mir das so vorgestellt.

    er reagiert aber nicht auf die Timer.

    HoerMirAuf

    ahh mein Fehler, hatte eine alte Tasmota Firmware noch drauf. Er nimmt die Rule nun.

    Aber da passt noch was nicht!

    Add1 und Sub2 passen nicht, sowie scale1 wird die Falsche Zahl gepublished. Var4 passt doch eigentlich wieso nimmt er 8.175 und nicht die 84.537?


    Edit: Add1 und Sub2 passen nur der Wert der gesendet wird ist der falsche noch.

    Moin,

    Hehe ja, dass habe selbst ich langsam kapiert :)

    In meinem Fall:

    Code
    rule2
    on system#boot do backlog var1 0; var2 0; var3 1 endon
    on SR04#distance>%var1% do backlog var4 %value%; var5 %value%; event checklimit=%value%; event senddistance endon
    on SR04#distance<%var2% do backlog var4 %value%; var5 %value%; event checklimit=%value%; event senddistance endon
    on event#checklimit>30 do var4 31 endon
    on event#checklimit<5 do var4 4 endon
    on event#senddistance do backlog scale1 %var4%, 31, 4, 0, 100; event pubdata endon
    on event#pubdata do backlog publish stat/Wassertank_Distance/RESULT {"Wassertank_prozent":"%var4%"}; var1 %var5%; var2 %var5%; add1 %var3%; sub2 %var3% endon

    als Ergebnis bekomme ich dann:

    Code
    07:18:35 MQT: stat/Hochbeet94/RESULT = {"Rule2":"ON","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""}