NEWS
Blockly Astro-Rolladensteuerung
-
Mach mal ein Screenshot vom Blockly. Ich bin auf arbeit und kann das Script nicht prüfen.
Morgen ist Sonntag, also kein Arbeitstag, da werden die Rollos erst um 8:30 Uhr hochgehen, falls du nichts verändert hast.
Gruss Michi
-
Hi,
bisschen groß daher kleiner Zoom hoffe man kann noch alles lesen.
-
Da gibt es tatsächlich noch ein problem…
die Prüfung ab 7:00, ob die aktuelle Zeit größer gleich der Zeit des Sonnenaufgangs ist funktinoiert nicht..
Ich habe die Zeiten mal ins Log schreiben lassen... Die Formate sind unterschiedlich:
aktuelle Zeit: 7:001520834400693
Sonnenaufgang: Mon Mar 12 2018 06:48:30 GMT+0100 (Mitteleuropäische Zeit)
Das kann man so wohl nicht vergleichen, und damit bleiben die Rollos morgens unten....
Wie könnte man das denn sonst machen ?
-
Bei mir läuft das Script ohne Probleme. Allerdings habe ich den Astrotrigger auf "größer als" stehen.
-
ich habe jetzt gerade in einem extra script den Zeitvergleich laufen lassen.. der läuft… scheinbar liegt es bei mir noch an was anderem...
-
Habe das ursprüngliche Skript mal neu eingefügt und meine Geräte eingebunden. Nun funktioniert es auch. Was auch immer da falsch war, das Skript scheint zu laufen.
-
nachdem es bei mir jetzt mir dem Hochfahren immer noch Probleme gab habe ich mal analysiert..
Man probiert ja rumm und testet.. und dabei stellte ich fest, dass die Variable Arbeitstag beim Scriptstart wohl überschrieben wird… Die hat dann erstmal keinen Wert...
Und hoch prüft ja immer auf true..
Ich dachte, dass wenn eine Variable bei createstate schon existiert, dass die dann beibehalten wird ?
-
` > >Und den Baustein "Zustand erzeugen" könnte ich jetzt theoretisch aus dem Script löschen da er ja schon erstellt ist, oder macht es Sinn ihn dauerhaft so stehen zu lassen?
Der kann theoretisch raus. Vorteil den dazulassen: wenn du die Scripte exportierst und neu / woanders einbindest ( Systemcrash oder ähnliches ) werden die benötigten Datenpunkte automatisch neu erzeugt. `
Ich muss hier nochmal nachfassen…
Wenn ich den Zustand im Script erzeugen lasse, dann wird jedesmal, wenn der Javascript Adapter neu startet, der Datenpunkt auch neu erzeugt und viel schlimmer: er hat keinen Anfangswert (false oder true).. Wenn dies nun nach dem Zeitpunkt, an dem geprüft wird, ob es ein Arbeitstag ist passiert, dann gehen die Rollos morgens nicht hoch.. Also habe ich direkt nach dem Zustand erzeugen den Wert auf true gesetzt...
Prompt ist heute morgen um 7:00 alles im Haus wach gewesen....
Wie kann ich im Blockly prüfen, ob ein Datenpunkt schon existiert ? , damit nur für den Fall, dass dies nicht so ist der Datenpunkt erzeugt wird ?
-
Wenn ich den Zustand im Script erzeugen lasse, dann wird jedesmal, wenn der Javascript Adapter neu startet, der Datenpunkt auch neu erzeugt und viel schlimmer: er hat keinen Anfangswert (false oder true).. Wenn dies nun nach dem Zeitpunkt, an dem geprüft wird, ob es ein Arbeitstag ist passiert, dann gehen die Rollos morgens nicht hoch.. Also habe ich direkt nach dem Zustand erzeugen den Wert auf true gesetzt…
Prompt ist heute morgen um 7:00 alles im Haus wach gewesen.... `
Da wirst Du etwas falsch programmiert haben.Datenpunkte (global) werden nicht neu angelegt wenn sie schon vorhanden sind. Die Inhalte bleiben erhalten!
Variablen (lokal) haben bei Script-Start keinen Zustand und sollten initialisiert werden.
Grüße
-
Hallo,
da ich aktuell auch an diesem Thema dran bin, in sehr ähnlicher Art: passt das so mit dem Blocky Script eurer Meinung nach?
Anforderungen für aufgehende Rollos:
-
Hochfahren soll sich nach der Zeit des Sonnenaufgangs richten
-
Frühestens jedoch ab 07 Uhr soll ein Rollo hochgefahren werden (sprich wenn der Sonnenaufgang früher ist soll trotzdem erst ab 07 Uhr hochgefahren werden)
-
Wochentag ist aktuell egal
Anforderungen für herunterfahrende Rollos:
-
Herunterfahren soll sich nach der Zeit des Sonnenuntergangs richten
-
Spätestens jedoch ab 21 Uhr soll ein Rollo heruntergefahren werden (sprich wenn der Sonnenuntergang später ist soll trotzdem bis 21 Uhr heruntergefahren werden)
-
Wochentag ist aktuell egal
Durch meinen Aufbau muss ich jeweils das gleiche Relais einschalten und wieder ausschalten nach einer bestimmten Zeit. Die Zeit richtet sich nach der Position und Länge der Rolladen. Es sollen nach und nach die Rolladen hoch- bzw. heruntergefahren werden.
Meine ersten Versuche für das Herunterfahren der Rollos (bisher nur zwei Rollos eingestellt):
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="V3Qiff8:Udc_Oz:dFt{." x="-12" y="188"><field name="COMMENT">Rolladen spätestens um 21:00 Uhr schließen, unabhängig vom Zeitpunkt des Sonnenunterganges</field> <next><block type="controls_if" id="ZmdNI/n9l#D!_zw9@=TM"><value name="IF0"><block type="time_compare_ex" id="Me{oe]?dD`NjgYiMO_]6"><mutation end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION"><</field> <value name="START_TIME"><shadow type="text" id="]zjUQj]-wxcIItij4)J!"><field name="TEXT">21:00</field></shadow></value></block></value> <statement name="DO0"><block type="astro" id="oCTx5cQc,z-+P:x]E%s-"><field name="TYPE">sunset</field> <field name="OFFSET">0</field> <statement name="STATEMENT"><block type="timeouts_settimeout" id="H4/j52eMLM;@[FcV[lU("><field name="NAME">timeout</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="O,XW~5.2zU-Va(PUHg]7"><mutation delay_input="false"></mutation> <field name="OID">modbus.5.coils.548_eg0204</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="hg9XNw9n`{A8bd%!Zo)l"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="|A(fXW.7Zkrp%7o;SILK"><mutation delay_input="true"></mutation> <field name="OID">modbus.5.coils.548_eg0204</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">30</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="%pM:J4@^+M2D}9AbJl0g"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <next><block type="timeouts_settimeout" id="}BO:cComxHZh73@?wO6y"><field name="NAME">timeout2</field> <field name="DELAY">2000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="h9JqkQuX-O!DT_Fmg*vL"><mutation delay_input="false"></mutation> <field name="OID">modbus.5.coils.557_eg0213</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="C-*mwTs~r.8`|di|Ga)6"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="T.ZXH;%]g(cDhfBtPBPt"><mutation delay_input="true"></mutation> <field name="OID">modbus.5.coils.557_eg0213</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">20</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="Y+}rkc%eJKnI5@RgA7Li"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block></statement></block></next></block></xml>
Meine ersten Versuche für das Hochfahren der Rollos (bisher nur ein Rollo eingestellt):
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="S?S}TM-;HO2ooC1K!R6~" x="-87" y="-37"><field name="COMMENT">Rolladen frühestens ab 07 Uhr öffnen, unabhängig vom Zeitpunkt des Sonnenaufgangs</field> <next><block type="controls_if" id="s]*y%-ygrc#|C,sg9dNb"><value name="IF0"><block type="time_compare_ex" id="8Oph^mggw9Ac!-t(MSIv"><mutation end_time="false" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">></field> <value name="START_TIME"><shadow type="text" id="Cm_)CGN%),AcpwZ-gM2,"><field name="TEXT">07:00</field></shadow></value></block></value> <statement name="DO0"><block type="astro" id="tG(/)%OB/(DO(NY5=}Bz"><field name="TYPE">sunrise</field> <field name="OFFSET">0</field> <statement name="STATEMENT"><block type="timeouts_settimeout" id="45?/:B@vx%AQPdh!7=Tm"><field name="NAME">timeout</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="O,XW~5.2zU-Va(PUHg]7"><mutation delay_input="false"></mutation> <field name="OID">modbus.5.coils.521_eg0009</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="hg9XNw9n`{A8bd%!Zo)l"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="|A(fXW.7Zkrp%7o;SILK"><mutation delay_input="true"></mutation> <field name="OID">modbus.5.coils.521_eg0009</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">30</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="%pM:J4@^+M2D}9AbJl0g"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></statement></block></next></block></xml>
-
-
Hi,
Ich nutze mein gepostetes o.s. Skript noch so wie es da steht. Hatte es jetzt deaktiviert aufgrund Nachwuchs - er soll durch ein fahrendes Rollo ja nicht geweckt werden. Ich habe es jetzt wieder aktiviert.
Problem:
Die Rollos bewegen sich jede Nacht gegen 12 Uhr also 00:00 Uhr auf den eingestellten Wert. NIcht aber gemäß Astro. Zu 00:00 Uhr passiert lt. Skript aber keine Bewegung sondern um 00:10 soll ja nur geprüft werden ob Feiertag bzw Wochentag oder Wochenende ist. Der "Feiertage" Adapter prüft im STandard lt. Cron um 00:00 UHr welche Art von Tag es ist.
Jemand ne Idee?
Gruß
Stefan
-
Guten Morgen zusammen.
Habe gerade an dem Blockly die Zeiten von 7:00 auf 7:30 geändert. Script gespeichert dann kommt der Fehler.
zudem kommt im LOG
javascript.0 2018-12-30 08:49:23.325 error at TCP.onread (net.js:601:20) javascript.0 2018-12-30 08:49:23.325 error at Socket.Readable.push (_stream_readable.js:208:10) javascript.0 2018-12-30 08:49:23.325 error at readableAddChunk (_stream_readable.js:250:11) javascript.0 2018-12-30 08:49:23.325 error at addChunk (_stream_readable.js:263:12) javascript.0 2018-12-30 08:49:23.325 error at Socket.emit (events.js:211:7) javascript.0 2018-12-30 08:49:23.325 error at emitOne (events.js:116:13) javascript.0 2018-12-30 08:49:23.325 error at Socket._ultron.on (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:138:22) javascript.0 2018-12-30 08:49:23.325 error at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:139:10) javascript.0 2018-12-30 08:49:23.324 error at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:165:16) javascript.0 2018-12-30 08:49:23.324 error at Receiver.getData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:330:12) javascript.0 2018-12-30 08:49:23.324 error at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:389:14) javascript.0 2018-12-30 08:49:23.324 error at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:141:47) javascript.0 2018-12-30 08:49:23.324 error at WebSocket.emit (events.js:211:7) javascript.0 2018-12-30 08:49:23.324 error at emitOne (events.js:116:13) javascript.0 2018-12-30 08:49:23.324 error at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:99:16) javascript.0 2018-12-30 08:49:23.324 error at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:147:10) javascript.0 2018-12-30 08:49:23.324 error at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8) javascript.0 2018-12-30 08:49:23.324 error at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8) javascript.0 2018-12-30 08:49:23.324 error at WS.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20) javascript.0 2018-12-30 08:49:23.324 error at WS. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:273:10) javascript.0 2018-12-30 08:49:23.324 error at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:456:14) javascript.0 2018-12-30 08:49:23.324 error at Socket.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20) javascript.0 2018-12-30 08:49:23.324 error at Socket. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) javascript.0 2018-12-30 08:49:23.324 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:335:16) javascript.0 2018-12-30 08:49:23.324 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:251:12) javascript.0 2018-12-30 08:49:23.323 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20) javascript.0 2018-12-30 08:49:23.323 error at Decoder. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) javascript.0 2018-12-30 08:49:23.323 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8) javascript.0 2018-12-30 08:49:23.323 error at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20) javascript.0 2018-12-30 08:49:23.323 error at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) javascript.0 2018-12-30 08:49:23.323 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12) javascript.0 2018-12-30 08:49:23.323 error at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9) javascript.0 2018-12-30 08:49:23.323 error at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:823:17) javascript.0 2018-12-30 08:49:23.323 error at createActiveObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1200:20) javascript.0 2018-12-30 08:49:23.322 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1146:37) javascript.0 2018-12-30 08:49:23.322 error at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:957:28) javascript.0 2018-12-30 08:49:23.322 error at Object.createScript (vm.js:80:10) javascript.0 2018-12-30 08:49:23.322 error SyntaxError: missing ) after argument list javascript.0 2018-12-30 08:49:23.322 error ^^ javascript.0 2018-12-30 08:49:23.322 error schedule(10 0 * * 1-5, function () { javascript.0 2018-12-30 08:49:23.322 error script.js.Rollo.Rollo_Steuerung_ compile failed: at script.js.Rollo.Rollo_Steuerung_:4</anonymous></anonymous></anonymous></anonymous>
Selbst wenn ich mein gespeichertes Backup Script unverändert importiere kommt der Fehler.
5495_rollo_fehler.png -
Du hast Javascript Adapter 4.0.6 und den damit verbundenen Bug im CRON. Mach ein Downgrade auch 3.6.4 und es läuft wieder
-
Du hast Javascript Adapter 4.0.6 und den damit verbundenen Bug im CRON. Mach ein Downgrade auch 3.6.4 und es läuft wieder `
Selber Fehler im Bild nach dem Downgrade.im LOG steht
javascript.0 2018-12-30 11:26:25.144 error at Object.createScript (vm.js:80:10) javascript.0 2018-12-30 11:26:25.144 error SyntaxError: missing ) after argument list javascript.0 2018-12-30 11:26:25.144 error ^^ javascript.0 2018-12-30 11:26:25.144 error schedule(10 0 * * 1-5, function () { javascript.0 2018-12-30 11:26:25.143 error script.js.Rollo.Rollo_Steuerung_ compile failed: at script.js.Rollo.Rollo_Steuerung_:4
EDIT
Nach einfügen des Musterscriptes geht es doch wieder.
-
boote mal den Raspi durch