NEWS
[Vorlage] Flexibles Timerskript + Vis
-
@AndreasW63 sagte in [Vorlage] Flexibles Timerskript + Vis:
Hallo,
ich habe das Timerskript seit einigen Tagen im Einsatz.
Bei einem der Tasks funktioniert das Ausschalten nach "Sonnenaufgang" nicht.
Zu diesem Zeitpunkt habe ich folgende Meldungen im Logfile des IOBroker:Kann mir jemand eine Tip geben wo ich ansetzen kann?
Gruß Andreas
Doch, es funktioniert, nur versucht Du offenbar das "aus", also false in nen Datenpunkt zu schreiben der ne Zeit als String erwartet. Siehe Log:
> javascript.0 2020-12-01 08:18:13.051 warn (19670) You are assigning a boolean to the state "sonoff.0.DVES_212_Terrasse.Time" which expects a string. Please fix your code to use a string or change the state type to boolean.
-
@Pittini
Danke für deine prompte Antwort.
Ja, da habe ich im Eifer des Gefechtes den falschen Datenpunkt ausgewählt ........
"Entschuldigen Sie die Störung......"
Gruß Andreas -
@Pittini
Darf ich hier auch nochmals eine Frage stellen? Ich möchte gerne meine Gosund (mit Tasmota) über das Timerscript steuern. Beim einlesen der TimerTargets laufe ich auf einen Fehler:javascript.0 2020-12-01 16:36:33.659 error (8821) Error in callback: TypeError: Cannot read property 'common' of null javascript.0 2020-12-01 16:36:33.637 warn (8821) Object "mqtt.0.SmartHome.Gosund4.cmnd" does not exist
DerDatenpunkt den ich ausgewählt habe war eigentlich "mqtt.0.SmartHome.Gosund4.cmnd.POWER", womit es eigentlich funktionieren müsste. Muss ich noch etwas anderes einstellen?
LG Rainer -
@Rene55 sagte in [Vorlage] Flexibles Timerskript + Vis:
DerDatenpunkt den ich ausgewählt habe war eigentlich "mqtt.0.SmartHome.Gosund4.cmnd.POWER", womit es eigentlich funktionieren müsste. Muss ich noch etwas anderes einstellen?
LG RainerZeig mal nen Screenshot von dem konfigurierten Datenpunkt, "eigentlich" is immer sone Sache. Der Fehler im Log sagt lediglich aus dasses den state angeblich nicht gibt, jetzt heists rausfinden warum.
-
@Pittini
Hier der Screenshot rund um den Gosund:!
-
@Rene55 sagte in [Vorlage] Flexibles Timerskript + Vis:
@Pittini
Hier der Screenshot rund um den Gosund:!
Ich seh da nirgends ne TimerTarget Zuweisung. Wo is die? Und was steht im Raw von dem Button Datenpunkt?
-
Hallo,
wie kann ich die Timereinträge sortieren ?
Zu einzelnen Objekten habe ich weitere Schaltzeiten hinterlegt. Es wäre schön wenn die Objekte untereinander stehen würden.
Gruß Andreas -
@AndreasW63 sagte in [Vorlage] Flexibles Timerskript + Vis:
Hallo,
wie kann ich die Timereinträge sortieren ?
Zu einzelnen Objekten habe ich weitere Schaltzeiten hinterlegt. Es wäre schön wenn die Objekte untereinander stehen würden.
Gruß AndreasSortierung ist nicht implementiert und auch nicht geplant. Die Reihenfolge in der Du anlegst is auch die Anzeigereihenfolge.
-
@Pittini
Ich hatte nach dem Fehler natürlich den TimerTarget wieder entfernt.
Hier nochmals der Screenshot:
und der daraus resultierende Logeintrag:
Ich hoffe, dass ich hiermit weiterhelfen kann.
LG Rainer -
Vorerst danke für das tolle Timerscript
Ich habe dazu zwei fragen.
- Mein test Timer funktioniert zwar, aber ich bekomme folgende Einträge ins log, bei jedem Schaltvorgang:
javascript.0 2020-12-04 14:41:00.014 error (24887) at processTimers (internal/timers.js:497:7) javascript.0 2020-12-04 14:41:00.014 error (24887) at listOnTimeout (internal/timers.js:554:17) javascript.0 2020-12-04 14:41:00.013 error (24887) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7) javascript.0 2020-12-04 14:41:00.013 error (24887) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11 javascript.0 2020-12-04 14:41:00.013 error (24887) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2020-12-04 14:41:00.013 error (24887) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34) javascript.0 2020-12-04 14:41:00.013 error (24887) at Object.<anonymous> (script.js.tests.Pittini_iobroker-Timer:608:13) javascript.0 2020-12-04 14:41:00.012 error (24887) at DoAction (script.js.tests.Pittini_iobroker-Timer:676:48) javascript.0 2020-12-04 14:41:00.012 error (24887) at Meldung (script.js.tests.Pittini_iobroker-Timer:111:13) javascript.0 2020-12-04 14:41:00.012 error (24887) Error in callback: ReferenceError: WriteEventLog is not defined
- Sieht bei mir die Zeiteingabe komisch aus. Da hat er irgendwelche Stylings nicht genutzt.
-
Hallo,
bei mir sieht/sah es auch immer so aus. Habe es aber nie richtig "ordentlich" hinbekommen. Falls Du eine Lösung findest, wäre ich auch dankbar dafür wenn Du sie teilen würdest
-
@FuXXz2 sagte in [Vorlage] Flexibles Timerskript + Vis:
Mein test Timer funktioniert zwar, aber ich bekomme folgende Einträge ins log, bei jedem Schaltvorgang:
Na, steht doch da was der Fehler ist. Stell mal UseEventLog in den Einstellungen auf false wie auch sowohl in der Anleitung als auch im Skript selber ausdrücklich gefordert.
Sieht bei mir die Zeiteingabe komisch aus. Da hat er irgendwelche Stylings nicht genutzt.
Ja, ich kenn das Problem, wüsste aber nicht was ich dagegen machen sollte, is auch nicht bei jedem und bisher hab ich noch nicht rausgefunden was bei jenen wo es funktioniert anders wär. Evtl. kann euch der Entwickler vom MaterialDesign CSS/Skript da helfen, hab Ihr da schon mal nachgefragt?: https://forum.iobroker.net/topic/30363/projekt-mdcss-v2-material-design-css-version-2/634
-
@Pittini Ich hatte den raw vom Datenpunkt noch vergessen. Hier ist er:
{ "common": { "name": "SmartHome/Gosund4/cmnd/POWER", "write": true, "read": true, "role": "state", "desc": "mqtt client variable", "type": "string", "custom": { "influxdb.0": { "enabled": true, "changesOnly": false, "debounce": "", "maxLength": 10, "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": "", "storageType": "String", "aliasId": "" } } }, "native": { "topic": "SmartHome/Gosund4/cmnd/POWER" }, "type": "state", "from": "system.adapter.influxdb.0", "user": "system.user.admin", "ts": 1606836913713, "_id": "mqtt.0.SmartHome.Gosund4.cmnd.POWER", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
LG Rainer
-
Servus @Pittini ich hab nun dein Timerscript einmal eingebunden. Hätte aber dazu noch eine Frage, kann man mit diesem Script einen Intervall machen. Sprich jeweils für eine bestimmte Zeit einschalten und dann wieder für eine bestimmte Zeit ausschalten. Und dies sollte sich dann immer widerholen.
-
@quorle sagte in [Vorlage] Flexibles Timerskript + Vis:
Servus @Pittini ich hab nun dein Timerscript einmal eingebunden. Hätte aber dazu noch eine Frage, kann man mit diesem Script einen Intervall machen. Sprich jeweils für eine bestimmte Zeit einschalten und dann wieder für eine bestimmte Zeit ausschalten. Und dies sollte sich dann immer widerholen.
Naja, für nen reinen Intervall brauchst kein Timerskript, dasn 4 Zeiler. Und nein, ist nicht drin oder vorgesehen.
-
@Rene55 sagte in [Vorlage] Flexibles Timerskript + Vis:
Ich hatte den raw vom Datenpunkt noch vergessen. Hier ist er:
Ok, ich seh zwei Probleme. Zum einen ist der Power true/false kein Boolean Datenpunkt und zum anderen der channel kein echter channel. Erstell mal ein kleines Skript mit diesem Einzeiler, lass es einmal laufen und starte dann das Timerskript nochmal und gugg was der Fehler macht.
setObject("mqtt.0.SmartHome.Gosund4.cmnd", { type: 'channel', common: { name: "" }, native: {} }); //Channel machen
Bleibt der Fehler gleich, versuch in den Timereinstellungen nicht die Option Anschalten oder Ausschalten zu verwenden, sondern versuchs mal mit "Wert setzen" und als Wert mal true oder false zu verwenden.
-
@Pittini Ich bin jetzt ein Stück weiter. Dein Fix-Script hat den Channel angelegt und das Timerscript kann das Device anlegen und schalten.
Mit den eingebauten Funktionen Einschalten und Ausschalten klappt es, obwohl sich ioBroker dann beschwert, dass er hierfür einen String erwartet, aber ein boolean bekommt.You are assigning a boolean to the state "mqtt.0.SmartHome.Gosund4.cmnd.POWER" which expects a string. Please fix your code to use a string or change the state type to boolean. This warning might become an error in future versions.
Das senden des Wertes "true" hat den gleichen Effekt: Schalten ja aber mit gleicher Warnung.
Kann ich mit leben bis halt "in future versions". Danke für die professionelle Hilfe - hätte ich alleine nicht hinbekommen.
LG Rainer -
@Rene55 sagte in [Vorlage] Flexibles Timerskript + Vis:
Das senden des Wertes "true" hat den gleichen Effekt: Schalten ja aber mit gleicher Warnung.
Ja, das ist was ich oben schon schrieb, der mqtt Adapter will nen String obwohls eigentlich ja nen bool ist, deswegen das gemaule. Werd mal überlegen wie ich auf den Sonderfall reagier. Schreib am besten ein Issue auf Git damits nicht untergeht und ichs nicht vergess.
-
@Pittini gemacht:
Nochmals Danke fürs Script und die Hilfe.LG Rainer
-
@Rene55 sagte in [Vorlage] Flexibles Timerskript + Vis:
@Pittini
Hier der Screenshot rund um den Gosund:!
Warum die Gosund Steckdosen mit dem MQTT Adapter. Installiere doch den Sonoff Adapter. Dann hast Du keine Sorgen. Wunderbare Werte wie man Sie gleich nutzen kann. Die Steckdosen werden ja mit Tasmota gleich in dem Sonoff Adapter gefunden. Da ist der MQTT Adapter viel zu komplex...