Interessant sind auch Vergleiche zwischen Tasmota32 mit Berry und der Shelly Firmware mit JavaScript Möglichkeiten. .... Leider gibt es dort die von mir gerne genutzten Schedule Jobs nicht. Ich täte es begrüßen, wenn die Shelly Firmware auch auf sonstigen ESP32 Boards nutzbar wäre.
Zur Ehren-Rettung von Berry:
Mit tasmota.add_cron gibt es ein Kommando, welches analog zum linux-cron Befehl funktioniert.
tasmota.add_cron("*/1 * * * * *",...
Via Duck-Typing kann jede beliebige Klasse registriert werden, die folgende Methoden aufweist und dann automatisch bei den every_-Methoden aufgerufen wird.
class MyDriver
def every_50ms()
end
def every_100ms()
end
def every_250ms()
end
def every_second()
# do something
end
...
end
d1 = MyDriver()
tasmota.add_driver(d1)
Alles anzeigen
Dann gibt es noch die klassischen Timer.
def TimeOutHandler()
print ("start TimeOutHandler")
end
var TimerName="myTimer"
tasmota.remove_timer(TimerName)
tasmota.set_timer(3000, TimeOutHandler,TimerName);
Natürlich kann man auch einen Event-Handler via Rule auf die kalendarischen Timer setzen.
def ClockTimerHandler(value, trigger)
print ("!!! Power2Handler: value:",value," and trigger:",trigger)
end
tasmota.add_rule("Clock#Timer", ClockTimerHandler)
Unter Tasmota kann man alle Scripte in eine Zip-Datei packen und hochladen.
Es ist also problemlos möglich pro Klasse mit 1 Datei zu arbeiten.
Sehr hilfreich finde ich auch die Möglichkeit via "assert" Test-scripte zu schreiben, um die eigenen Software automatisiert zu testen.
Tasmota bietet die Möglichkeit die bestehende UI durch eigenen Elemente zu erweitern.
Aber natürlich kann man auch eine komplett neue Seite erstellen.
Vor vielen Monaten habe ich mein Glück mit Mongoose versucht. Es waren jedoch noch sehr viele Bugs drin. Die Frustration war zu groß.
Wie du auch schon erwähnt hast, lassen sich viele Dinge (z.B. PWM) nur mit Tasmota lösen.
Aber cool wenn es nun besser läuft mit Mongoose
.