Beiträge von ostfriese
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
-
-
Also gut. Dann geht es darum den SW verzögert an das Relais weiterzugeben, das aber bei vorzeitigem Aus abzubrechen, Da müssen die Szene Leute ran. Ich habe strictly no cloud
Bin mir sicher, dass das geht. Wollte nur zur Klärung der Ausgangslage beitragen.
-
Heißt das, dass man 230V (L) auf den Schaltdraht gibt und der Lüfter läuft dann sofort? Ich meine den Ist-Zustand jetzt. Skizze?
-
Ich bin mir sicher, dass Loetauge da der richtige Ansprechpartner ist. Wetten?
-
Alles gut. War mit einem Augenzwinkern gemeint
Wenn man das isoliert verwendet, ist das ja kein Problem.
-
...
(WindowsXP)...
LOL, dein Ernst?
-
Das Script ist nur eine erste quick und dirty Version. Ich arbeite gerade an einer besseren Version, da bau' ich das dann ein.. Vlt. weiß ja jemand hier spontan, ob das im Script mit user:pw@excample.com geht. Kann ich gerade nicht testen.
Kannst ja mal versuchen die Zeile:
durch:
zu ersetzen, wobei du bei user und pw deine Daten verwendest.
-
Cool, das sind ja mal super Tipps. Das mit dem KVS ist ja praktisch. Hatte ich glatt übersehen.
Das mit dem zweiten Script ist auch interessant, Doof ist nur, dass die Scripts endlos laufen.
LOL Habe versucht, einen Abbruch mit print(3/0) herbeizuführen. Statt Fehler kommt:
9223372036854775807
das ist lustig. Die Rechengenauigkeit ist wohl nicht so toll
Aber da gibt es bestimmt elegantere Mittel.
z.B. Script.Stop
Ich werde mal versuchen, deine Tipps für mein Script zu verwerten. Habe da schon Ideen.
Danke
-
Guter Ansatz!
-
Ich würde sagen, Versuch macht klug. Wäre spannend!
-
So langsam entwickelt sich da für mich der Reiz, mit den bescheidenen Mitteln trotzdem das gesetzte Ziel zu erreichen
Du kannst ein 2. Stript schreiben das dein 1. Skript überwacht. ...
Das könnte eine Option sein. Hast du ein Beispiel? Ich gehe aber dann davon aus, dass ich zwar feststellen kann, das dass Script abgestürzt ist, man müsste in meinem Fall dann aber auch noch wissen, bei welchem TRV das auftritt. ich nehme an, dass man nicht in das Dateisystem schreiben kann?! Dann könnte man das da z.B. zwischenspeichern.
Oder mann lässt beide Scripts über Shelly.call und localhost miteinander kommunizierern. Das könnte gehen.
-
Wenn man wüsste, welcher Mosfet da verbaut ist, wüsste man den RDS on und könnte das berechnen. Gehe aber davon aus, dass die Verlustleistung so klein ist, dass man optisch keinen Unterschied sieht. Müsste ja alles in Form von Wärme abgeführt werden.
-
Da stimmt was nicht. Bei 100% sollten die so hell sein, wie mit einem Schalter. Ich würde auch mehr als 16W erwarten. Sind die LED 230V oder ist da etwas vorgeschaltet?
-
Prima, dann kannst du den Thread ja auf gelöst setzen.
-
Danke dir. Das erste Beispiel ist der komplizierteste Blinker, den ich jemals gesehen habe
Das war ja damals mit Opcode mit push pop und shift einfacher.
Aber ich habe das Konzept die RPC in einer Queue abzuarbeiten verstanden.
Beide Beispiele zeigen, wie eingeschränkt das Scripting ist.
Ich komme von Python und habe mir vor drei Tagen extra einen Gen2 gekauft.
Ich hatte in einem Thread, der einen Bug bei den TRV im Mesh behandelt, einen Workaround in Python zur Verfügung gestellt. Nun habe ich gedacht, weil viele vor Python zurückschrecken oder keine Python fähige HA haben, das mal als Script 'raus zu hauen.
Da ich nun die Einschränkungen, auch dank deiner Hilfe, so langsam erkenne, schaffe ich das auch, das umzusetzen. Unter diesem Gesichtspunkt ist mein Script ja gar nicht so schlecht.
Leider setzt das Script nur einen Teilaspekt der Python Lösung um.
Was ich noch nicht umgesetzt habe ist folgendes.
Der TRV schreibt aufgrund des Bugs non-ascii Werte in seinen Status. Erkennt man dieses ZEITNAH, kann man das durch einen Reboot beheben. Wenn nicht -> Werksreset und neu konfigurieren.
Also, lieber ein Script, was das erkennt und das TRV rebootet.
In Python setze ich das ungefähr so um:
try:
json.loads(response)
except:
reboot
Ich kann nun im Shelly-Script ja innerhalb des RPC ein
JSON.parse(result.body)
durchführen. Geht das schief, stoppt das Script, da es ja keine sinnvolle Routine zum Abfangen eine Fehler gibt.
Mal sehen, wie das auch noch hinbekomme.
Habe infohalber das Python Script mal hier angehängt.
-
Code
Alles anzeigenfunction timerCode() { i += 1; if (i === devices.length){i = 0}; Shelly.call( "http.get", {url: net + devices[i] + "/psovrd2",timeout: 8}, function(result, error_code, error_message) { if (error_code !== 0) { print("timeout " + net + devices[i]); } else if (result.code === 200) { let obj = JSON.parse(result.body); print("success " + net + devices[i]); } }) } //Anpassen (max. 15 TRV) let net = "172.16.0."; let devices = ["64", "67", "68", "69", "70", "71", "72", "73", "75", "76"]; //Anpassen Ende let wait = 150000/(devices.length); let i = -1; Timer.set(wait,true,timerCode);
Das beleidigt mein Auge
Das was hier der Timer macht, würde ich gerne mit einer for Schleife machen, die idealerweise wartet, bis eine Url erledigt ist. Oder eben eine feste Zeit.
In Javascript oder Python geht das natürlich viel eleganter, aber....
-
...
http://dl.dasker.eu/. Kennt zufälligerweise jemand die Ursache? Die Seite scheint nicht auf Requests zu reagieren, weshalb der Flashvorgang abbricht.
Vielen Dank für einen diesbezüglichen Hinweis!
Kann das sein, dass der Link tot ist?
-
Schau mal bitte hier:
-
Danke dir. Das ganze Scripting ist doch sehr bescheiden. Ich bin da halt von der Python Seite kommend sehr verwöhnt. Werde mal weiter fummeln.
-
Hallo,
ich benötige für das Scripting eine function oder andere Möglichkeit, die Ausführung des Scripts für eine Zeit zu unterbrechen, ohne den Shelly mit irgend etwas sinnlosem zu beschäftigen.
Hat da jemand eine Lösung?