NEWS
Script nur kurz / einmal ausführen?
-
@exmerci
Der Sollwert von 22 °C um 5:00 Uhr ist umsonst, da die Werte gleich wieder überschrieben werden. Oder sind es unterschiedliche Datenpunkte mit gleichem Namen? Dann solltest Du die Namen ändern. -
Blockly zeigt ja nicht alles an. Vielleicht erklärt es sich so besser:
Die Datenpunkte sind ja durch heatingcontrol vorgegeben. Die mache ich ja nicht selbst.
-
@exmerci sagte:
Vielleicht erklärt es sich so besser:
Ja. Wenn ioBroker.heatingcontrol immer die gleichen Namen vergibt, solltest Du ein Issue auf Github erstellen.
Die Werte werden mit "aktualisiere" an heatingcontrol übergeben. Funktioniert das ? -
Also für mich spricht erstmal nichts dagegen, da es ja eindeutig wird durch die verschiedenen Tage, die verschiedenen Profile und die verschiedenen Perioden.
Im Java kann man es ja auch gut auseinander halten. Nur in Blockly ist es schwierig, da Blockly nur einen Teil des Datenpunkt Namens darstellt. -
@exmerci
ich habe eine Verständnisfrage, da ich den Adapter "heatingcontrol" selbst nicht im Einsatz habe/kenne ...Wird denn überhaupt ein Script (blockly) benötigt?
Ist denn nicht Sinn und Zweck des Adapters diese Steuerung vorzunehmen und damit das Scripten überflüssig zu machen, also das Scripten selbst zu übernehmen? -
Vielleicht habe ich den Adapter nicht kapiert, aber ich sehe keine Möglichkeit dort verschiedene Profile zu konfigurieren.
Es gibt wohl Vorlagen für VIS, aber die sind mir alle zu mächitg und zu schwer zu verstehen. -
-
Die ist schon weg. hat aber mit dem Fehler nichts zu tun. Ich bekomme ihn einfach nicht weg.
-
@exmerci sagte in Script nur kurz / einmal ausführen?:
Die ist schon weg. hat aber mit dem Fehler nichts zu tun. Ich bekomme ihn einfach nicht weg.
Zeig mal bitte einen RAW von so einem Datenpunkt den der Adapter angelegt hat.
(ich habe den Adapter auch nicht im Einsatz, aber ich vermute das Gleiche wie @BBTown , Vielleicht wird das alles im Adapter selbst konfiguriert und ist sonst gar nicht beschreibbar ?) -
{ "from": "system.adapter.heatingcontrol.0", "user": "system.user.admin", "ts": 1590786447051, "common": { "name": "target temperature", "type": "number", "role": "value.temperature", "unit": "°C", "read": true, "write": true }, "native": { "id": "Profiles.1.Büro.Fri.Periods.0.Temperature" }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "heatingcontrol.0.Profiles.1.Büro.Fri.Periods.0.Temperature", "type": "state" }
Also nur mal zur Erklärung. Die Datenpunkte kann man entweder befüllen in dem man sich ein aufwendiges VIS bastelt, oder aber man kann sie auch von Hand eingeben. Normalerweise reicht das, wenn man das einmal für verschiedene Profile macht. Danach werden die Heizzeiten dann über die verschiedenen Profile gesteuert, deren Datenpunkte man auch wieder entweder manuell bestückt oder eben wieder durch einen Button oder ähnliches im VIS.
Da aber bei mehreren Profilen mal eben bis zu 160 Datenpunkte ausgefüllt werden müssen, möchte ich das durch ein Script machen, was beim ersten mal fast genau so aufwendig (allerdings kann man viel mit einem search & repleace in einem Editor machen), aber falls der Adapter mal abstürzt oder ich alles mal neu aufsetzen muss, brauche ich dann nur das Script zu starten und die Arbeit ist in ein paar Sekunden erledigt.Ich muss das Script aber nicht unbedingt über einen Button starten, das war nur so eine Idee. Ich kann es auch einfach ohne das drumherum schreiben und bei Bedarf einmal ausführen. Dabei werden auch keine Fehler angezeigt. Der Fehler kommt also nicht vom ausfüllen der Datenpunkte selbst.
Blockly war jetzt nur der Anfang, weil ich vom JS keine Ahnung habe und erstmal sehen musste, wie die JS Zeilen aussehen müssen. Den (großen) Rest habe ich dann direkt in JS gemacht. Das hätte mit Blockly auf einer Raspberry ewig gedauert.