NEWS
[Vorlage] Flexibles Timerskript + Vis
-
Hallo Thomas,
über Konsole hat es nun funktioniert.
danke dir!pi4b@pi4b:~ $ iobroker add icons-mfd-svg --debug NPM version: 8.15.0 Installing iobroker.icons-mfd-svg@1.1.0... (System call) added 1 package in 7s 61 packages are looking for funding run `npm fund` for details host.pi4b install adapter icons-mfd-svg upload [1] icons-mfd-svg.admin /opt/iobroker/node_modules/iobroker.icons-mfd-svg/admin/icons-mfd-svg.png icons-mfd-svg.png image/png upload [0] icons-mfd-svg.admin /opt/iobroker/node_modules/iobroker.icons-mfd-svg/admin/index.html index.html text/html upload [931] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/audio_audio.svg audio_audio.svg image/svg+xml upload [900] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/control_3.svg control_3.svg image/svg+xml upload [850] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/control_building_flat_s.svg control_building_flat_s.svg image/svg+xml upload [800] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/control_building_modern_s_okg_int_dg.svg control_building_modern_s_okg_int_dg.svg image/svg+xml upload [750] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/control_return.svg control_return.svg image/svg+xml upload [700] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/fts_blade_arc_80.svg fts_blade_arc_80.svg image/svg+xml upload [650] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/fts_entrance_boom_open.svg fts_entrance_boom_open.svg image/svg+xml upload [600] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/fts_shutter_vert_blade_100.svg fts_shutter_vert_blade_100.svg image/svg+xml upload [550] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/fts_window_roof_shutter_50.svg fts_window_roof_shutter_50.svg image/svg+xml upload [500] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/light_ceiling_infrared.svg light_ceiling_infrared.svg image/svg+xml upload [450] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/light_plant.svg light_plant.svg image/svg+xml upload [400] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/measure_pond_30.svg measure_pond_30.svg image/svg+xml upload [350] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/message_socket_ch.svg message_socket_ch.svg image/svg+xml upload [300] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/sani_pool_filter_pump.svg sani_pool_filter_pump.svg image/svg+xml upload [250] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/scene_dressing_room.svg scene_dressing_room.svg image/svg+xml upload [200] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/scene_robo_lawnmower_active.svg scene_robo_lawnmower_active.svg image/svg+xml upload [150] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/secur_open.svg secur_open.svg image/svg+xml upload [100] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/time_eco_mode.svg time_eco_mode.svg image/svg+xml upload [90] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/user_ext_away.svg user_ext_away.svg image/svg+xml upload [80] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/vent_low_pressure_protection_unit.svg vent_low_pressure_protection_unit.svg image/svg+xml upload [70] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/vent_ventilation_level_3.svg vent_ventilation_level_3.svg image/svg+xml upload [60] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_directions_nw.svg weather_directions_nw.svg image/svg+xml upload [50] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_humidity_abs.svg weather_humidity_abs.svg image/svg+xml upload [40] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_moon_phases_7_half.svg weather_moon_phases_7_half.svg image/svg+xml upload [30] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_rain_heavy.svg weather_rain_heavy.svg image/svg+xml upload [20] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_station_quadra.svg weather_station_quadra.svg image/svg+xml upload [19] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_storm.svg weather_storm.svg image/svg+xml upload [18] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_summer.svg weather_summer.svg image/svg+xml upload [17] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_sun.svg weather_sun.svg image/svg+xml upload [16] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_sunrise.svg weather_sunrise.svg image/svg+xml upload [15] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_sunset.svg weather_sunset.svg image/svg+xml upload [14] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_thunderstorm.svg weather_thunderstorm.svg image/svg+xml upload [13] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind.svg weather_wind.svg image/svg+xml upload [12] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_e.svg weather_wind_directions_e.svg image/svg+xml upload [11] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_n.svg weather_wind_directions_n.svg image/svg+xml upload [10] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_ne.svg weather_wind_directions_ne.svg image/svg+xml upload [9] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_nw.svg weather_wind_directions_nw.svg image/svg+xml upload [8] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_s.svg weather_wind_directions_s.svg image/svg+xml upload [7] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_se.svg weather_wind_directions_se.svg image/svg+xml upload [6] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_sw.svg weather_wind_directions_sw.svg image/svg+xml upload [5] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_directions_w.svg weather_wind_directions_w.svg image/svg+xml upload [4] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_no_wind.svg weather_wind_no_wind.svg image/svg+xml upload [3] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_speed.svg weather_wind_speed.svg image/svg+xml upload [2] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_speed_bft.svg weather_wind_speed_bft.svg image/svg+xml upload [1] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_wind_speed_ms.svg weather_wind_speed_ms.svg image/svg+xml upload [0] icons-mfd-svg /opt/iobroker/node_modules/iobroker.icons-mfd-svg/www/weather_winter.svg weather_winter.svg image/svg+xml host.pi4b object system.adapter.icons-mfd-svg created/updated host.pi4b create instance icons-mfd-svg host.pi4b object system.adapter.icons-mfd-svg.upload created host.pi4b object system.adapter.icons-mfd-svg.0 created
-
ich bekomme bei jedem schaltvorgang einen fehler
javascript.0 2022-10-08 09:00:00.015 error at processTimers (node:internal/timers:502:7) javascript.0 2022-10-08 09:00:00.015 error at listOnTimeout (node:internal/timers:559:17) javascript.0 2022-10-08 09:00:00.015 error at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2022-10-08 09:00:00.015 error at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2022-10-08 09:00:00.015 error at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2022-10-08 09:00:00.015 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1565:34) javascript.0 2022-10-08 09:00:00.015 error at Object.<anonymous> (script.js.jarvis.TimerScript:621:13) javascript.0 2022-10-08 09:00:00.015 error at DoAction (script.js.jarvis.TimerScript:771:60) javascript.0 2022-10-08 09:00:00.015 error at GetDeviceName (script.js.jarvis.TimerScript:500:41) javascript.0 2022-10-08 09:00:00.015 error Error in callback: TypeError: Cannot read properties of null (reading 'common') javascript.0 2022-10-08 06:02:00.005 error at processTimers (node:internal/timers:502:7) javascript.0 2022-10-08 06:02:00.005 error at listOnTimeout (node:internal/timers:559:17) javascript.0 2022-10-08 06:02:00.005 error at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2022-10-08 06:02:00.005 error at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2022-10-08 06:02:00.004 error at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2022-10-08 06:02:00.004 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1565:34) javascript.0 2022-10-08 06:02:00.004 error at Object.<anonymous> (script.js.jarvis.TimerScript:621:13) javascript.0 2022-10-08 06:02:00.004 error at DoAction (script.js.jarvis.TimerScript:781:60) javascript.0 2022-10-08 06:02:00.004 error at GetDeviceName (script.js.jarvis.TimerScript:500:41) javascript.0 2022-10-08 06:02:00.004 error Error in callback: TypeError: Cannot read properties of null (reading 'common')
-
@mpl1338 sagte in [Vorlage] Flexibles Timerskript + Vis:
2022-10-08 09:00:00.015 error at GetDeviceName (script.js.jarvis.TimerScript:500:41) javascript.0
2022-10-08 09:00:00.015 error Error in callback: TypeError: Cannot read properties of null (reading 'common')Naja, steht ja fast im Klartext da was das Problem ist, Irgendein Devicename hat nen Null Wert. Mehr kann ich auch nicht sagen bei so wenig Infos.
-
das sind die verwendeten objekte. Über IOB und Visu funktioniert es.
-
@mpl1338 Ich brauch den ganzen Zweig vom Objektbaum, nicht nur den letzten channel. Denk da gibts ne ungewöhliche Struktur evtl, kann ich bei dem Ausschnitt aber nicht feststellen
-
Super Script @Pittini
Hat auf Anhieb geklappt, bei mir steht im Zielname der Ordner in dem der DP liegt,
Übersichtlicher wärs für mich wenn hier wirklich der Name des DPs stehen würde.
Hast ne Idee was ich falsch gemacht habe?
-
Benenne dir das doch einfach um wie du es haben möchtest. Das Timerscript bietet dafür in der Vis die Möglichkeit.
-
@dominik-f Ahhh das habv ich überlesen in der Doku, klappt danke
-
@pittini said in [Vorlage] Flexibles Timerskript + Vis:
@mpl1338 Ich brauch den ganzen Zweig vom Objektbaum, nicht nur den letzten channel. Denk da gibts ne ungewöhliche Struktur evtl, kann ich bei dem Ausschnitt aber nicht feststellen
-
@mpl1338 Ja, seh schon das Problem, liegt aber nicht direkt am Skript, sondern an Deiner unüblichen Struktur. Das Skript erwartet übergeordnet nen channel. Du hast aber keinen (was an sich nicht korrekt ist) und das löst den Fehler bzgl. dem null Wert aus. Lösen kannst das Problem auf 2 Arten. Du kannst aus dem "nichts" nen channel machen, oder Du legst Dir für den Datenpunkt nen Alias an und verweist darauf.
-
@pittini die Struktur kommt durch die ETS bzw durch den KNX Adapter und spiegelt die KNX ETS Struktur wieder. Wenn ich das was an der Struktur ändere bekomme ich mit dem KNX Adapter wahrscheinlich Problem. Aber dieses Problem muss eigentlich jeder haben, der mit dem KNX Adapter arbeitet
-
@mpl1338 sagte in [Vorlage] Flexibles Timerskript + Vis:
@pittini die Struktur kommt durch die ETS bzw durch den KNX Adapter und spiegelt die KNX ETS Struktur wieder. Wenn ich das was an der Struktur ändere bekomme ich mit dem KNX Adapter wahrscheinlich Problem.
Glaub ich nicht mal, Du änderst ja nicht die Struktur an sich, sondern wandelst mur ein "nichts" in ein Objekt (was wiederum dann nen Namen hat, welchen das Skript abrufen möchte) um. Aber ich hab Dir ja auch nen Alternativvorschlag oben schon gemacht - Alias.
-
Hi,
ich eine vielleicht unnötige Frage und es wird vielleicht nicht gehen, aber trotzdem:
Zur Zeit steure ich Zeitpläne mit Adapter Time-Switch zur vollsten Zufriedenheit mit der Funktion an sich.
Mich stört eigentlich nur das große Layout in der Vis.
Die Ausgaben in Tabellenform sind mir für die Übersicht eigentlich lieber.
Aber hier habe ich einen für mich eigentlich sehr wichtigen Vorteil:- Alle Zeiten sind zu einem Datenpunkt zugeordnet sichtbar, also zusammenhängend
- Ich kann den Zustand des Datenpunktes in dieser Kachel einfach ändern und damit den Timer "übersteuern"
Diese Möglichkeiten sind in diesem Skript aber anscheinend nicht gegeben, oder?
-
@diwoma Vor allem sind die Zeilen nicht sortierbar. Nach spätestens 20 Timern drehste durch
Übersichtlich ist diese Tabelle also gar nicht. -
Ich habe heute folgende Fehlermeldung bekommen:
javascript.0 2022-11-23 16:29:34.016 warn at processTimers (node:internal/timers:502:7) javascript.0 2022-11-23 16:29:34.016 warn at listOnTimeout (node:internal/timers:559:17) javascript.0 2022-11-23 16:29:34.016 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2022-11-23 16:29:34.016 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2022-11-23 16:29:34.015 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2022-11-23 16:29:34.015 warn at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1595:34) javascript.0 2022-11-23 16:29:34.015 warn at Object.<anonymous> (script.js.common.Timer:621:13) javascript.0 2022-11-23 16:29:34.015 warn at DoAction (script.js.common.Timer:776:25) javascript.0 2022-11-23 16:29:34.015 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20) javascript.0 2022-11-23 16:29:34.009 warn You are assigning a string to the state "scene.0.Beleuchtung.Weihnachtsbeleuchtung_Innen" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions.
Ich verstehe hierbei nicht, warum ein String gesendet wurde. In Vis habe ich Einschalten angegeben und dann sollte doch True übergeben werden oder?
-
@dominik-f Sehr seltsam. Ja, bei Einschalten wird true gesendet, das kannste auch sehen wenns nicht ausgeblendet wär (Spalte "sende" in meinem pic). Hab grad keine Idee zu dem Prob, musst mal beobachten. Kannst auch versuchen statt "EInschalten" das "Wert senden" zu nehmen und dort true einzutragen.
-
Habs mal eingeblendet und dort steht auch das true gesendet wird. Ich werde es mal beobachten. Es war auch das erste Mal, dass dieser Fehler aufgetaucht ist. Vielleicht war es einfach ein Zusammenspiel unglücklicher Umstände^^
-
@pittini said in [Vorlage] Flexibles Timerskript + Vis:
Btw. Eine alphabetische Sortierung ist nicht möglich oder?
Nein, ist nicht drin oder geplant.
Hi pittini,
arbeitest Du noch aktiv am Script?Die Sortierung scheint doch gefragt zu sein.
Und es betrifft eigentlich nur die Liste, die ja als HTML-Table codiert aufgebaut wird.
Die Nummer des Timers ist für die Anzeige eigentlich nicht relevant, ausser das er unique ist und den Index darstellt und damit den DP definiert, der editiert wird.Ich denke an ein Stringfeld, in das man irgendwelche Werte schreibt (z.b. 01.01.02, Pool-01, usw), den Wert zusätzlich als Datenpunkt (z.b. "Sort") des Timers schreibt und vor der Erstellung der VIS-Tabelle das Array danach sortiert. Eventuell die Timer-Nummer noch als zusätzlichen Vergleich in die Sortierung einbinden, bei leeren oder gleichen Stringwerten.
Damit wäre der indexer "x", zwar nicht mehr die Timernummer, aber den könnte man aus den Datenpunkt ja extrahieren.
Siehst Du darin unüberwindliche oder auch nur große Probleme?
Ansonsten würde ich es mit meinen bescheidenen Fähigkeiten in JS mal versuchen. -
@diwoma sagte in [Vorlage] Flexibles Timerskript + Vis:
Hi pittini,
arbeitest Du noch aktiv am Script?Nicht wirklich. Es tut was ich brauch.
Siehst Du darin unüberwindliche oder auch nur große Probleme?
Machbar ist (fast) alles.
Ansonsten würde ich es mit meinen bescheidenen Fähigkeiten in JS mal versuchen.
Ja klar, hau rein.
-
Hi zusammen,
kann mir jemand Helfen, folgende Meldungen zu behandeln?
In der Aufzählung für den Timer sind Aliase und wenn diese geschaltet werden, gibt es nen Eintrag ins Log.
Er fängt an mit alias.0.Licht.Ankleide existiert nicht, das stimmt auch, denn es heißt alias.0.Licht.Ankleide.Fenster, so wie es im Datenpunkt unter dem
entsprechenden Timer auch zu sehen ist.
Trotzdem macht er aber folgende Fehler.javascript.0 2022-11-28 15:29:00.031 error at processTimers (node:internal/timers:502:7) javascript.0 2022-11-28 15:29:00.031 error at listOnTimeout (node:internal/timers:559:17) javascript.0 2022-11-28 15:29:00.031 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2022-11-28 15:29:00.031 error at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2022-11-28 15:29:00.030 error at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2022-11-28 15:29:00.030 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1595:34) javascript.0 2022-11-28 15:29:00.030 error at Object.<anonymous> (script.js.Aktiv.automatik.PittiniTimer_2_2_0:621:13) javascript.0 2022-11-28 15:29:00.030 error at DoAction (script.js.Aktiv.automatik.PittiniTimer_2_2_0:810:64) javascript.0 2022-11-28 15:29:00.030 error at GetDeviceName (script.js.Aktiv.automatik.PittiniTimer_2_2_0:500:41) javascript.0 2022-11-28 15:29:00.029 error Error in callback: TypeError: Cannot read properties of null (reading 'common') javascript.0 2022-11-28 15:29:00.027 warn script.js.Aktiv.automatik.PittiniTimer_2_2_0: Object "alias.0.Licht.Ankleide" does not exist