NEWS
EnergieSparen Tasmota - globale Funktion
-
hätte frage zum scripten
folgendes energiespar-projekt wollte ich realisieren:
vorab: ich schalte den iobroker server mit einen script ab beim schlafen gehen - mit wol wird er morgens wieder automatisch aktiviert. zur not kann ich auch über alexa den server wecken. ich habe auch vershieden "gruppen" der sonoffs - einige schalten nur, andere sind nur bewegungsmelder, ...ich bräuchte ein paar funktionen, die meine sonoffs in den sleep modus bzw. die mqtt ab-/einschalten. realisieren möchte ich das mit tasmota befehlen (sleep 250 und setOption 60 0) vor allem beim schlafen gehen und auch teilweise, wenn niemand im haus ist. auch wenn keine bewegung im haus festzustellen ist, soll dieser sleep mode so hoch wie möglich sein. oder ein anderes beispiel: die sonoff pow sollen mit sleep=0 laufen, da sie sonst probleme bei der energieaufzeichnung haben - diese energie-aufzeichnug benötige ich manchmal nur 1 mal pro woche für zwei stunden - die restliche zeit läuft das ding mit zu hohen "eigenwerten".
zu meiner eigentlichen frage - wie bekomme ich eigene funktionen (z.b allSonoffMqttOff() (schaltet bei allen Sonoffs das mqtt aus ) in mein system, welche unter blockly zur verfügung stehen? wenn mein schlafen script abgelaufen ist und der iobroker server bzw proxmox server aus ist, blinkt das ganze haus wie weihnachten, weil alle sonoffs nach ihrem broker suchen !
ich denke mal, da muss man wohl etwas mit globalen scripts machen? hat jmd. ein paar tipps für mich
beispiel: möchte das hier in 4 verschiedenen blockly-scripts aufrufen
function allSonoffMqttOff() { exec('curl "http://sonoff1/cm?cmnd=setOption3%200"'); exec('curl "http://sonoff2/cm?cmnd=setOption3%200"'); exec('curl "http://sonoff3/cm?cmnd=setOption3%200"'); exec('curl "http://sonoff4/cm?cmnd=setOption3%200"'); exec('curl "http://sonoff5/cm?cmnd=setOption3%200"'); exec('curl "http://sonoff6/cm?cmnd=setOption3%200"'); ... exec('curl "http://sonoff17/cm?cmnd=setOption3%200"'); }
-
falls mal ein profi eine bewertung abgeben möchte
hab es so gelöst:
es gibt ein globales script - welches mehrere funktionen beinhaltet. siehe in der art wie im ersten post.
dann habe ich in den blockly, wo ich die funktion verwenden möchte, folgende bausteine eingefügt:
in dieser javascript-funktion wird eine funktion des globalen scripts aufgerufen - ist das in ordnung auf diese art ?