-
-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cron Probleme beim ändern eines Profils mittels Javascript #153
Comments
Das hatten wir hier schon einmal siehe #143, war damals nicht mehr nachvollziehbar... |
Hi, habe den Adapter auf Debug umgestellt. Hier ist das Log: log.txt Ich hoffe dir nützt der log etwas. Wenn du noch mehr Infos benötigst dann Sag einfach Bescheid. Zu dem Grund warum ich das machen will: Ich habe 5 Räume die ich steuern möchte und 6 unterschiedliche Tages Programme(+ Änderungen am Wochenende). Die Teils nur einen Raum oder mehrere betreffen. Und da ich das aktive Profil nur Global setzten kann müsste ich alle Varianten als Profil anlegen(währen bestimmt ca. 15 Profile). Wenn ich dann etwas bei einem Raum ändern möchte müsste ich diesen Punkt in jedem Profile ändern bei dem die default Werte genommen werden. in meinem Skript habe ich einen default Satz für jeden Raum hinterlegt und durch den Eintrag im Kalender wird ausgewählt Gruß |
ich glaube, ich sehe das Problem im log: versuche mal, die setState's in deinem script mit delay (im Sekundenbereich) aufzurufen. Jedes setState startet die Neuberechnung, im vorliegenden Fall wird der Ablauf neunmal gestartet. Jeder Ablauf löscht zwar die vorher angelegten cron - jobs, wenn die aber noch nicht angelegt sind, wenn der nächste Ablauf startet, komme die einfach hinzu. Außerdem: schalte mal das "vom Thermostat bis zum nächsten Profil-Punkt" aus. Das könnte die nächste Schleife generieren... Das baue ich in der 2.x komplett um... |
Hi, habe die beiden Sachen geändert. Warte 1s nach jedem setSate. Mit einem Raum sieht es jetzt so aus als würde es Funktionieren. |
okay, dann kommt der bug fix in die 2.x... |
die 2.x liegt zum testen bereit. Aber Achtung: ist noch alpha-Status, also evtl. nicht fehlerfrei.. |
Hi, Habe die Version 2.0.0. Installiert.
Ich konnte leider nicht feststellen ob der Eintrag dauerhaft ignoriert wird oder dann später verarbeitet wird. |
ja, das ist wirklich ein Problem. Ich serialisiere die eingehenden Daten in einer Liste. Wenn die Liste länger als 30 Einträge ist, verwerfe ich die nächsten. Wenn also |
Wenn ich das richtig sehe dann wird ja nicht pro set (Uhrzeit und Temperatur) sondern pro Wert ein Eintrag erstellt. Bei Maximal 30 Einträgen und 5 Perioden wären das ja 3 Räume die man setzten kann ohne das es ein Problem gibt. Wenn die Liste eine statische Länge haben muss wäre es wohl gut wen man so etwas wie ein almostfull Datenpunkt hätte damit |
Die Liste ist nicht statisch, sondern dynamisch. Ich hatte nur beim testen gesehen, dass die Liste endlos groß wird, wenn man von außen zu viele Änderungen schreibt. Dann wird die Liste nie abgearbeitet. Deshalb hatte ich ein Limit eingeführt. Ich habe es jetzt mal deutlich vergrößert, kann es aber noch größer machen, wenn nötig... |
@ignis-draco Können wir das issue hier jetzt schliessen? |
Hi,
erstmal danke für die Arbeit die du in den Adapter gesteckt hast.
Ich bin dabei ein JavaScript zu schreiben um das Profile für jeden Raum automatisch an meinem Schichtplan anzupassen.
Dabei ist mir aufgefallen das wenn ich in einem Profil einen Punkt (Zeit und Temperatur) ändere während der Heatingcontrol Adapter noch läuft es zu einem Problem kommt.
Der Adapter erstellt extrem viele neue Corn Jobs bis "more then 500 cron jobs existing for this adapter, this might be a configuration error! (525)" kommt. (Siehe Log)
Nur ein Neustart vom Adapter führt dazu das die Änderungen im Daten Punkt übernommen wird und keine cron jobs mehr erstellt werden.
Im JavaScript mache ich:
setState("heatingcontrol.0.Profiles.0.Büro.Fri.Periods.0.Temperature", 16) setState("heatingcontrol.0.Profiles.0.Büro.Fri.Periods.0.time", "01:02")
Log Datei: log.txt
Da ich noch dabei bin mich mit IoBroker genauer auseinander zu setzten kann es natürlich gut sein das der Fehler bei mir liegt.
Wenn das der Fall seinen soll bitte ich schon mal um Entschuldigung.
The text was updated successfully, but these errors were encountered: