Antwort auf mein Ticket; ... arbeiten mit Hochdruck daran....
Also nichts Konkretes.
Neu ist, hatte englisch geschrieben, Antwort deutsch
Antwort auf mein Ticket; ... arbeiten mit Hochdruck daran....
Also nichts Konkretes.
Neu ist, hatte englisch geschrieben, Antwort deutsch
Datum und Uhrzeit als function
function full_time(timestamp) {
date_now = new Date(timestamp * 1000);
months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
year = date_now.getFullYear();
month = months[date_now.getMonth()];
date = date_now.getDate();
hour = "0" + date_now.getHours();
min = "0" + date_now.getMinutes();
sec = "0" + date_now.getSeconds();
return time = date + ' ' + month + ' ' + year + ' ' + hour.substr(-2) + ':' + min.substr(-2) + ':' + sec.substr(-2);
}
print(full_time(Shelly.getComponentStatus("sys").unixtime);
Alles anzeigen
Würde 3 nehmen.
Willkommen im Forum,
Das ist ja mal ein Einstieg. Erst einmal nein. Habe heute in einem Ticket bei Alterco nachgefragt. Warte auf Antwort.
Habe auch mal ein Ticket eröffnet. Das ist voll lästig. Erst recht, wenn man es nicht weiß.
Lässt sich nicht änden, ist read only.
Ansätze für Tricks hast du ja selbst genannt.
Ein nicht publiziertes Limit ist ein Bug
Vielleicht sollte man sich angewöhnen, die Alterco Geräte erst ein Jahr nach Erscheinen anzufassen. Wir sind da zu schnell.
Aber, selbst dann sind die ja noch nicht fertig.
Als ich meiner besseren Hälfte erzählte, dass Alterco an die Börse geht, hat sie gefragt, ob sie Aktien kaufen soll.
Meine Antwort dürft ihr raten...
Ist mir auch aufgefallen. Ich habe mich tot gesucht. Ich wollte etwas für Debug-Zwecke ausgeben. Hatte das vor einem Block regulärer Ausgaben platziert.
Kam nichts.
Habe dann versucht, den Fehler in meiner Programm-Logik zu finden. Durch Zufall bin ich dann auf den Bug gekommen.
ostfriese hat einen neuen Blog-Artikel erstellt: Gelöscht wegen Eigentümerwechsel.
Zitat-
Besser nicht, ist AC.
Ich warte jetzt erst einmal auf eine Fehlermeldung von Cyb.2K
eiche Danke, für die ausführliche Darstellung.
Es gibt da, wie man sieht, verschiedene Ansätze. Wie komplex die Materie ist, sieht man ja schon an der Länge deines Post.
Deine Lösung stellt eine, sehr bequeme, Generierung von Schedules mit erweiterten Möglichkeiten dar. Ein Segen, für den 'Fachmann', ein Fluch für den 'mir ist egal wie, Hauptsache es funktioniertmann' , da die äußere Logik vom Anwender deines Tools selbst erstellt werden muss.
Außerdem beinhaltet dein Tool die wertvolle Erkenntnis und Umsetzung, dass man Shedules erheblich vielfältiger Nutzen kann, als im WebUi vorgegeben. Hat auch mein Wissen erweitert.
Bei meinem Ansatz ist das völlig anders. Die Konfigurationsmöglichkeiten sind absolut eingeschränkt. Man kann ja nur die Endzeit eingeben.
Dafür muss ich aber die komplette Logik liefern. Außerdem steht mir, bei meiner Lösung etwas sehr wichtiges nicht so einfach zur Verfügung, sprich Astrozeiten, hier Sonnenuntergang.
Das Problem ist gelöst, ist aber so komplex, dass es mehr als die Hälfte des Codes beansprucht. (z.B. Api liefert alle Zeiten im AM/PM System und müssen auf das 24h System umgerechnet werden.)
Dazu kommt der eingeschränkte Sprachraum (und besonders dieser asynchrone Mist mit den RPC-Calls ) von mJs. Es ist schon in einer vollwertigen Programmiersprache nicht ganz trivial, mit Zeiten, Zeiträumen und Vergleichen derer umzugehen.
Hätte nicht gedacht, dass die es so komplex es, die einfachere Anforderung,
verhindere, dass jemand das Licht in einem gewissen Zeitraum ausschaltet,
umzusetzen.
Ich habe gestern den ganzen Tag getüftelt, bin aber noch nicht zu einer Lösung gekommen, die mich zufrieden stellt. Zumal die Schaltungsgestaltung des TE nicht ideal ist.
Aber, man wächst ja an den Herausforderungen
Ich sehe schon, dass läuft auf zwei Lösungen heraus
Ich versuche (aus Spieltieb ) den EventHandler in dem gewünschten Zeitraum abzuschalten.
nach dem Schema:
Wenn Zeit gleich Sonnenuntergang, dann EventHandler aus. <--Schaltbefehle werden nicht verarbeitet
Wenn Zeit gleich Endzeit, dann EventHandler an <-- Schaltbefehle werden verarbeitet
Der Sinn ist ja, dass der TE einen Schedule konfiguriert hat, der das Licht zum Sonnenuntergang für eine bestimmte Zeit einschaltet, und der Taster dann nicht dazwischen funkt.
Ich denke, das geht so:
function handle_events(e) {
//do_something
}
//API: Shelly.addEventHandler(callback[, userdata]) -> subscription_handle
let subscription_handle = Shelly.addEventHandler(handle_events);
print('subscription_handle is', subscription_handle);
//API: Shelly.removeEventHandler(subscription_handle) -> boolean
let answer = Shelly.removeEventHandler(subscription_handle);
print('subscription_handle ', subscription_handle, 'removed is', answer);
Alles anzeigen
eiche Danke für den Test und die Hinweise. Auf Ideen kommen die Leute
Bin gerade dabei, das Skript zu härten.