NEWS
[Vorlage] Blockly heute/morgen frei zur Rollo-/Heizungsst.
-
Entschuldigt bitte, dass ich noch viele Fragen habe. `
Dafür ist ja das Forum ja da.Die Datenpunke werden unter der jeweiligen JavaScript Instanz angelegt.
wenn Du nur eine Instanz hast, dann unter Javascript.0.
Eventuell mal "Objekte" aktualisieren.
Oder im Blockly nochmal auf die Auswahl von "frei_heute" oder "frei_morgen" anklicken.
Im Auswahlfenster siehst Du dann den Pfad.
Grüße
-
Er melde bei mir im Log: State "javascript.0.frei_heute" not found
Er sollte doch eigentlich diesen State von selbst erstellen, wenn er noch nicht vorhanden ist.
Oder habe ich das falsch verstanden?
Die Instanz ist richtig mit javascript.0
ich hänge auch noch ein Bild von meinen Objekten an.
javascript.0.Arbeitstag ist aus meiner alten Rolladensteuerung
javascript.0 2019-01-06 21:22:00.065 warn at Timer.listOnTimeout (timers.js:290:5) javascript.0 2019-01-06 21:22:00.065 warn at tryOnTimeout (timers.js:323:5) javascript.0 2019-01-06 21:22:00.065 warn at ontimeout (timers.js:498:11) javascript.0 2019-01-06 21:22:00.064 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2019-01-06 21:22:00.064 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2019-01-06 21:22:00.064 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2019-01-06 21:22:00.063 warn at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:920:34) javascript.0 2019-01-06 21:22:00.063 warn at Object. <anonymous>(script.js.heute_frei__morgen_frei:27:5) javascript.0 2019-01-06 21:22:00.061 warn State "javascript.0.frei_heute" not found javascript.0 2019-01-06 21:22:00.061 warn at Timer.listOnTimeout (timers.js:290:5) javascript.0 2019-01-06 21:22:00.060 warn at tryOnTimeout (timers.js:323:5) javascript.0 2019-01-06 21:22:00.060 warn at ontimeout (timers.js:498:11) javascript.0 2019-01-06 21:22:00.060 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2019-01-06 21:22:00.059 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2019-01-06 21:22:00.059 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2019-01-06 21:22:00.059 warn at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:920:34) javascript.0 2019-01-06 21:22:00.058 warn at Object. <anonymous>(script.js.heute_frei__morgen_frei:23:5) javascript.0 2019-01-06 21:22:00.056 warn State "javascript.0.frei_heute" not found javascript.0 2019-01-06 21:22:00.056 warn at Timer.listOnTimeout (timers.js:290:5) javascript.0 2019-01-06 21:22:00.055 warn at tryOnTimeout (timers.js:323:5) javascript.0 2019-01-06 21:22:00.055 warn at ontimeout (timers.js:498:11) javascript.0 2019-01-06 21:22:00.055 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2019-01-06 21:22:00.054 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2019-01-06 21:22:00.054 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2019-01-06 21:22:00.054 warn at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:920:34) javascript.0 2019-01-06 21:22:00.053 warn at Object. <anonymous>(script.js.heute_frei__morgen_frei:7:7) javascript.0 2019-01-06 21:22:00.052 warn getState "javascript.0.frei_morgen" not found (3) javascript.0 2019-01-06 21:22:00.051 warn at Timer.listOnTimeout (timers.js:290:5) javascript.0 2019-01-06 21:22:00.051 warn at tryOnTimeout (timers.js:323:5) javascript.0 2019-01-06 21:22:00.050 warn at ontimeout (timers.js:498:11) javascript.0 2019-01-06 21:22:00.050 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2019-01-06 21:22:00.050 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2019-01-06 21:22:00.050 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2019-01-06 21:22:00.049 warn at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:920:34) javascript.0 2019-01-06 21:22:00.048 warn at Object. <anonymous>(script.js.heute_frei__morgen_frei:5:3) javascript.0 2019-01-06 21:22:00.045 warn State "javascript.0.frei_heute" not found</anonymous></anonymous></anonymous></anonymous>
Viele Grüße
7070_screenshot_2019-01-06_objects_-_iobroker.jpg -
Er melde bei mir im Log: State "javascript.0.frei_heute" not found
Er sollte doch eigentlich diesen State von selbst erstellen, wenn er noch nicht vorhanden ist.
Oder habe ich das falsch verstanden?
Die Instanz ist richtig mit javascript.0 `
Der Ablauf ist:Script starten (Datenpunke werden angelegt)
Script stoppen
Script starten (Datenpunke sind vorhanden)
Die Datenpunkte befinden sich dann unter javascript.instanz.
NICHT unter javascript.instanz.scriptEnabled. Da gehören keine eigenen Datenpunkte hin.
Habe gerade mal mit Script Engine v4.0.7 Datenpunkte angelegt. Keine Probleme.
Woher kommt Dein Verzeichnis js-controler@1.4? Ist bei mit nicht vorhanden.
Grüße
-
Hallo Rantanplan,
ich habe es nun noch einmal gelöscht und neu erstellt.
Nun funktioniert es, ich habe keine Ahnung was da schief gegangen ist.
Ich danke aber für die viele Unterstütung.
Woher genau js-controler@1.4 kommt kann ich dir nicht sagen.
Viele Grüße
-
Moin.
Ich würde gerne dieses Blockly-Script benutzen um festzustellen, ob ein Feiertag vorliegt oder nicht.
Ich bin der Meinung, dass ich das Script genau so nachgebaut hab, wie rantanplan es eingestellt hat.
Beim Datenpunkt heute_frei bekomme ich auch einen Wert, aber beim Datenpunkt morgen_frei steht kein Wert.
Was habe ich falsch gemacht??
Ich finde den Fehler nicht!
Vielleicht kann mir jemand helfen!?
Vielen Dank!
Gruß
Sirius -
@djsirius sagte in [Vorlage] Blockly heute frei / morgen frei zur Rollo- u. Heizungssteuerung:
Was habe ich falsch gemacht??
Ich finde den Fehler nicht!
Vielleicht kann mir jemand helfen!?
Habe etwas Geduld
Das Script sollte immer NACH 24 Uhr getriggert werden. Auf jedenfall nachdem der Feiertags Adapter sich auch aktualisiert hat.
Lasse es mal einfach laufen. Am besten mit den original Einstellungen.
Wenn es nach zwei Tagen immer noch keine Werte bringt, läuft etwas falsch.
Kurze Rückmeldung wäre schön.Grüße
-
Hallo rantanplan,
muss ich dem Script sagen, wann es getriggert wird? Ich habe es ja schon über 2 Tage am laufen, und morgen ist Samstag, also müsste doch bei morgen_frei true als Wert stehen, oder nicht?
Vielen Dank für deine schnelle Antwort.
Gruß
Sirius -
Hi,
ich hänge mich hier mal mit dran. Hier mal mein Ansatz. Ich habe das ganze noch um die Urlaubstage erweitert
welche ich in meinen Google-Kalender eingetragen habe. Bei mir wird auch nur ein Wert für Frei oder nicht Frei
angezeigt, ansonsten ist dem von rantanplan ähnlich. -
@djsirius sagte in [Vorlage] Blockly heute frei / morgen frei zur Rollo- u. Heizungssteuerung:
Hallo rantanplan,
muss ich dem Script sagen, wann es getriggert wird? Ich habe es ja schon über 2 Tage am laufen, und morgen ist Samstag, also müsste doch bei morgen_frei true als Wert stehen, oder nicht?
Vielen Dank für deine schnelle Antwort.
Gruß
SiriusNatürlich muss man einem Trigger sagen wann er reagieren soll.
Importiere am Besten das Original noch mal und speicher es ohne Ähnderung ab und starte es.
Der Trigger startet dann immer um 00:01 Uhr.
FRÜHESTENS morgenfrüh um 00:02 Uhr sehen wir dann ob es geklappt hat.!!! Den Chron-Trigger am besten NICHT editieren. Bei einigen neueren Script Engines gibt es Probleme !!!
Grüße
-
@lesiflo sagte in [Vorlage] Blockly heute frei / morgen frei zur Rollo- u. Heizungssteuerung:
Hi,
ich hänge mich hier mal mit dran. Hier mal mein Ansatz. Ich habe das ganze noch um die Urlaubstage erweitert
welche ich in meinen Google-Kalender eingetragen habe. Bei mir wird auch nur ein Wert für Frei oder nicht Frei
angezeigt, ansonsten ist dem von rantanplan ähnlich.Hallo lesiflo
Schlechte Idee die Werte nochmals ausserhalb von einem anderen Trigger ändern zu lassen.
Der Ablauf in dem Script ist schon wichtig.Deinen Urlaub würde ich UNTER dem Bereich "Feiertage" einfügen.
Ich arbeite nicht mit "ical". Aber ich glaube mal gelesen zu haben, dass es da keinen "Urlaub_morgen" gibt.
Würde also nicht für die abendliche Steuerung funktionieren, weil man nicht abfragen kann ob morgen Urlaub ist,Für die morgendliche Steuerung würde es gehen, wenn Du einen Falls-Block unter die Feiertage-Blöcke setzt,
Falls Wert von ical.0.events.Urlaub = wahr
steuere Frei_heute mit wahrGrüße
-
Warum schlechte Idee? Und was ist da außerhalb von einem anderen Trigger?
Das Script setzt "Frei_heute" auf wahr sobald nur eine der drei Bedingungen auf wahr ist. Ansonsten bleibt es auf falsch. Ich habe im ical meine Urlaubstage eingefügt und als Event definiert. Und warum sollte das für die abendliche Steuerung nicht funktionieren? Wozu brauche ich dafür zu wissen ob ich morgen Urlaub habe? Ich setze das ganze schon lange so für meine Rolladensteuerung über Homematic ein und bisher ohne Probleme. -
@lesiflo sagte in [Vorlage] Blockly heute frei / morgen frei zur Rollo- u. Heizungssteuerung:
Warum schlecht Idee? Und was ist da außerhalb von einem anderen Trigger?
Läuft das original Script bei Dir?
Wenn Ja, läuft im Origial ein Trigger UND in Deinem Blockly ein Trigger, der dann von außerhalb des Originals die Variablen ändert.
Läuft nur Deines, ist es egal.Das Script setzt Frei_heute auf wahr sobald nur eine der drei Bedingungen auf wahr ist. Ansonsten bleibt es auf falsch. Ich habe im ical meine Urlaubstage eingefügt und als Event deffiniert. Und warum sollte das für die abendliche Steuerung nicht funktionieren? Wozu brauche ich dafür zu wissen ob ich morgen Urlaub habe?
Warum willst Du wissen ob heute frei oder Urlaub ist?
Meine Begründung, warum ich wissen möchte ob heute und/oder morgen frei ist, habe ich im ersten Beitrag beschrieben.Grüße
-
Nein bei mir läuft nur meine Lösung. Ich habe es ja auch nur aufgeführt falls jemand noch seinen Urlaub oder sonstige freie Tage mit einbauen möchte. Das geht nämlich nur über einen externen Kalender.
Ok, für eine Anzeige wie du sie hast ist schon notwendig ob morgen frei ist oder nicht, für die Steuerung von anderen Programmen aber nicht.LG
-
@rantanplan Irgendwie kann ich das Script nicht importieren. Eine Idee warum ?
Gruß
HDM -
@Spitfire4all
Da war irgendwie alles doppelt drin. Habe die Datei erneuert. Versuche es nochmal.
Danke für den Hinweis.Grüße
-
@rantanplan
Läuft wie geschmiert.
Danke.Gruß
HDM -
Hallo zusammen,
ich habe bei mir dieses Skript auch installiert, und die Variable "morgen_frei" wird nicht initialisiert automatisch. Inititiert man die Variable z.B. manuell dann funktioniert das Skript einwandfrei aus meiner Sicht.
Würde es Sinn machen es so abzuändern:
Ich meine das sollte hinhauen auch wenn morgen dann ein freier Tag wäre sollte der dann richtig gesetzt werden.
Was meint ihr?
(Sorry für's aus der Versenkung holen, ich finde das Skript aber echt gut für einige Anwendungsfälle).
-
@hotspot_2 sagte in [Vorlage] Blockly heute/morgen frei zur Rollo-/Heizungsst.:
Hallo zusammen,
ich habe bei mir dieses Skript auch installiert, und die Variable "morgen_frei" wird nicht initialisiert automatisch. Inititiert man die Variable z.B. manuell dann funktioniert das Skript einwandfrei aus meiner Sicht.
Würde es Sinn machen es so abzuändern:
Ich meine das sollte hinhauen auch wenn morgen dann ein freier Tag wäre sollte der dann richtig gesetzt werden.
Was meint ihr?
Kann man so machen. Habe ich "damals" wohl übersehen.
Ich würde die Abfrage eventuell ausserhalb des Triggers machen. Dann wird es nur einmal beim Script-Start ausgeführt.(Sorry für's aus der Versenkung holen, ich finde das Skript aber echt gut für einige Anwendungsfälle).
Schön dass es gefällt
Grüße