SonOff Basic als eigenständige ReihenUmschaltung

  • kann man in einer Rule den aktuellen Zählerstand von ruletimer1 ermitteln/auswerten?

    Wenn du in der Konsole ruletimer eingibst wird dir der aktuelle Wert der timer angezeigt.

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • Was du machen könntest:

    einen ruletimer der bis 100 zählt z.b. in Zehnerschritte zerlegen und ne Variable mit hochzählen lassen:

    rule1 on <trigger> do backlog rultimer1 10, var1 0 endon on rules#timer=1 do backlog ruletimer1 10; add1 1 endon on var1#state>10 do <wasauchimmer z.b. rule1 0> endon


    Ist zwar kein echtes auslesen aber ich kann ja den variablen Wert verwenden um daran den Timerstand abzufragen.


    Ist die Frage warum den Status brauchst und in welchen Intervallen der abgerufen werden soll, sonnst kann man auch gleich mit den Timerwerten spielen...


    Klimmzüge eben ;)

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • so - ich war viel anderweitg unterwegs - aber JETZT will ich mein Projekt wieder in Angriff nehmen.... ( und vielleicht auch als Version 1 abschließen)


    Wie ihr schon vermutet habe - es ist ziemlich kompliziert... :-(


    Ein Problem habe ich noch:
    Da das System in einem abgeschlossenen Bereich laufen wird - und das WLAN per Fritzbox zur Verfügung gestellt bekommt ...

    Wie kann ich die interne Systemzeit von der Fritzbox holen?

    das Kommando "ntpserver [192.168.x.x]" habe ich schon abgesetzt - aber es tut sich nichts ... :-(
    Die Fritzbox ist als interer Zeitserver konfiguriert und - soweit ich das sehen kann - funktioniert das auch...


    vielen Dank

  • Der Befehl um den ntpserver zu setzen lautet:


    ntpserver1 [ip/Host]


    Bzw.
    ntpserver2 [ip/Host]
    ntpserver3 [ip/Host]

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • war die Tage unterwegs ...


    "HoerMirAuf" : super - ein DICKES DANKE für deine zahlreichen Hilfestellungen!


    Leider funktioniert es nicht - wo kann ich die aktuelle Systemzeit erkennen - bzw. ist die Zeit am Anfang der Logzeilen die Systemzeit?
    Im "Log" sehe ich dannz.B. "00:02:00 RSL: tele/sonoff/UPTIME = {"Time":"1970-01-01T00:02:00","Uptime":"0T00:02:00"}"

    Die tatsächlich Zeit wäre "2019-05-06 10:31:15" ...


    Ich war zu ungeduldig - jetzt klappt es doch!


    ... gibt es auch ein Command, mit dem ich manuell eine Aktualisierung starten kann?

  • ... gibt es auch ein Command, mit dem ich manuell eine Aktualisierung starten kann?

    Eine Aktualisierung von was?

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • Eine Aktualisierung von was?

    ... des Systemdatums manuell auslösen ....


    Jetzt habe ich tagelang nach dem Problem gesucht und dachte schon, dass mein SonnoffPow defekt wäre ...
    ABER - ich hatte "nur" das "backlog" im Commandoblock vergessen .... <X

    KOMISCH dass dann die Befehle falsch ankommen 8o

    Jetzt geht es

    GRRRRRRRRRR ...


    ( die Storry vom Wald und den vielen Bäumen ...)

  • ... des Systemdatums manuell auslösen ....

    meines Wissens nach nicht.


    Ich bilde mir aber ein, das der sync ausgelöst wird wenn der ntpserver gesetzt wird. :/ Ist aber reine Vermutung und wäre zu testen.


    ntpserver1 <ip>

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • ... es funktioniert doch nicht vollständig - inzwischen bin ich irgendwie Fehlerblind....

    Code
    1. Rule2
    2. on mem1#State do backlog websend [192.168.178.61] mem1 %mem1%; var5 %mem1%; add5 %mem2%; add5 15; mem3 0 endon
    3. on mem2#State do backlog websend [192.168.178.61] mem2 %mem2%; var5 %mem1%; add5 %mem2%; add5 15; mem3 0 endon
    4. on mem3#State==0 do backlog rule2 0; mem3 %Var5%; rule2 1; var5 0 endon
    5. on Var1#State<=3 do backlog websend [192.168.178.61] var1 %var1%; ruletimer3 %mem3%; ruletimer1 %mem1%; ruletimer2 15 endon
    6. on var1#State>3 do var1 1 endon

    Zur besseren Übersicht habe ich die einzelnen Anweisungsblöcke HIER in separate Zeilen geschrieben - im Orginal fehlen die "CR"


    Der 1. RuleAnweisungsBlock startet ordnungsgemäß mit z.B. "mem1 30" - es kommt bei [x.x.x.61] mem1 und bei var5 und auch bei mem3 alles richtig an

    der 2. RuleAnweisungsBlock verweigert sich obwohl er identisch zum 1.Block von mem1 ist - es tut sich bei z.B. "mem2 15" NIX
    der 3. RuleAnweisungsBlock startet auch nicht obwohl nach dem 1. und dem 2. RuleAnweisungsBlock jeweils mem3 der Wert 0 zugewiesen wird und dort auch landet.

    Komischer Weise funktioniert aber die 5. und 6. RuleAnweisungsBlöcke wieder - z.B. wenn ich "var1 5" eingebe


    ICH VERSTEHE ES NICHT!

  • ist denn die Rule2 überhaupt aktiv?

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • hier mal der Ablauf....

    ... und DANN tut sich nichts ....


    es scheint, dass die "on memX#State .." pro Systemstart nur EINMAL ausgeführt werden - egal welches memX danach verändert wird ....
    also: wenn ich "mem1 xx" mehrfach aufrufe wird es genau nur einmal ausgeführt - danach tut sich nichts mehr ...
    verstehe ich nicht!

  • Puh .... wie ich bereits in Post #21 erwähnte:

    Zitat

    Hmmm musste eigentlich auch gehen. Aber an der Stelle steig ich dann aus. :)



    Aber vermutlich geht es deswegen nicht (Wiki - Rules)

    Zitat

    Hinweis

    Folgendes funktioniert nicht:


    Code

    1. rule on event#setvar1 do backlog var1 %value%; power1 %var1% endon

    Zumindest nicht so, wie man es erwarten könnte. Der vom Befehl power1 verwendete Wert var1 ist der Wert, der vorhanden ist, bevor der Befehl backlog ausgeführt wird. Dies ist der Fall, weil die Rule den Wert in %var1% einsetzt, BEVOR die Backlog-Befehle in das Backlog-Protokoll eingestellt werden.

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini

  • mit dem Umweg über VarX-Speicher funktioniert es nun:


    Code
    1. rule2
    2. on var1#State>0 do backlog mem1 %var1%; websend [192.168.178.61] mem1 %mem1%; var1 -1 endon
    3. on var2#State>0 do backlog mem2 %var2%; websend [192.168.178.61] mem2 %mem2%; var1 -1 endon
    4. on var1#State==-1 do backlog var5 %mem1%; add5 %mem2%; add5 15; var2 -1 endon
    5. on var2#State==-1 do backlog mem3 %var5%; var5 0; var2 0 endon
    6. on var3#State<=3 do backlog websend [192.168.178.61] var1 %var3%; ruletimer3 %mem3%; ruletimer1 %mem1%; ruletimer2 15 endon
    7. on var3#State>3 do var3 1 endon


    Offensichtlich klemmt der CommandoBlock "on memX#State do backlog ..." - ohne einen "backlog"-Block funktioniert es... (z.B. i [x.x.x.61]-Client)

    schon irgendwie komisch

  • hallo HoerMirauf


    Das mit der WerteZuweisung innerhalb eines Backlog-Blocks VOR dessen Ausführung ist ja einer der Gründe, warum es so "von hinten durch die Brust" geht.
    Jedenfalls bin ich dir sehr, SEHR dankbar, dass du dir trotz Allem noch meine Fragen ansiehst und immer wieder hilfreiche Antworten gibst!


    herzlichen Gruß aus der Knobelkiste ...

  • Jedenfalls bin ich dir sehr, SEHR dankbar, dass du dir trotz Allem noch meine Fragen ansiehst und immer wieder hilfreiche Antworten gibst!

    Kein Ding, gerne.


    Ich verfolge das Ganze auch mit großem Interesse und bin echt gespannt ob Du das echt noch zum laufen bekommst. :/:thumbup:


    Viel helfen kann ich da allerdings nicht mehr und mir wäre auch der Aufwand zu hoch sowas mit Websend und Rules lösen zu wollen ;) Respekt vor Deinem Enthusiasmus.

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-Home-Mini