NEWS
[Vorlage] Multi Ereignislisten Skript
-
Ähm, war das jetzt richtig das Script auf Debug zu setzen, weil da kommt
javascript.0 2019-12-08 12:43:58.507 warn (27890) script.js.Ereignisse.Test: setForeignState(id=javascript.0.Ereignisliste.default.event, state="Test") - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
Oder den Adapter javascript auf Debug?
-
@Nashra der javascript-adapter sollte auf debug stehen
-
Hatte ich als erstes gemacht aber da kommt nichts wenn ich schalte,
deswegen hatte ich das überwachende Script auf Debug gesetzt.
In der html-Liste wird es aber angezeigt das ich ein- und ausgeschaltet habe -
vielen Dank für das tolle Script. Ich habe nun beide Scripte in mein System kopiert. Das Globale Script läuft auch, aber das Allgemeine Script hat bei mir auch den Fehler in Zeile 140. Welcher hier schon öfters angesprochen wurde. Liegt der Fehler im Kopieren? Was muss ich in der Zeile ändern damit es läuft?
-
Könnte jemand das 0.2.2 Skript hier reinstellen. Bei mir läuft das 0.2.3 auch nicht wegen Zeile 140.
error javascript.0 script.js.common.Ereignisliste compile failed: at script.js.common.Ereignisliste:140
Anbei die Log datei,
IM POST 64 KANN MAN DAS FUNKTIONIERENDE SKRIPT LADEN.
-
@RK62 said in [Vorlage] Multi Ereignislisten Skript:
Ich hatte das Skript für mich angepasst und habe versucht die Ursprungsversion wieder herzustellen.
Siehe Anlage: AdapterEventList.js und hier die globale Funktion: global.js
Und hier als zip: EventList.zipGruß, Ralf
Konnte damit meine Scriptfehler (Zeile 140) beheben. Vielen Dank!!!
-
Hat zufälligerweise schon jemand dieses Script so umgebaut, dass man die Datenpunkte auch unter 0_userdata.0 statt unter javascript.0 anlegen kann?
(Bin gerade am Umstellen meiner Scripte).
-
@maeb3 sagte in [Vorlage] Multi Ereignislisten Skript:
Hat zufälligerweise schon jemand dieses Script so umgebaut, dass man die Datenpunkte auch unter 0_userdata.0 statt unter javascript.0 anlegen kann?
(Bin gerade am Umstellen meiner Scripte).
Noch besser wäre ein eigener Adapter, aber das wäre auch schon sehr nützlich.
-
@maeb3
Ich habe mich jetzt mal bisschen näher mit dem Script beschäftigt und habe es auf 0_userdata.0. umgestellt.
Man muss im globalen und im eigentlichen Script was umstellen.
Im globalen Script die Variable defaultPfad umstellen:var defaultPfad = "0_userdata.0.Ereignisliste.";
Und im eigentlichen Script die Variable Pfad auf genau den gleichen Zweig umstellen:
var pfad = "0_userdata.0.Ereignisliste.";
Läuft bis jetzt fehlerfrei.
-
Hi,
seid dem Admin Update auf 5 kommt bei mir immer im Log folgende Warnung
Read-only state "javascript.0.Ereignisliste.Licht.event" has been written without ack-flag with value "Ku Led Aus"Weiß einer welsche Zeile ich anpassen muss damit nicht immer diese Fehlermeldung kommt.
Vielen Dank vorab
-
Auch ich habe hier die Fehlermeldungen.
Gibt es da einen workaround? -
@hg6806 @MadTrinity
In der function dpAnlegen(callback) muss überall write: false raus genommen werden.// VOR ÄNDERUNG: stateListe.push({id: pfad+liste+".eventlistStr", val:"", write: false}); // NACH ÄNDERUNG: stateListe.push({id: pfad+liste+".eventlistStr", val:""});
Das wirkt sich allerdings erst bei der Neuanlage von Listen aus. Also entweder den Objektbaum löschen und neu anlegen lassen oder die States manuell korrigieren.
-
Sehr geiles Script. Vielen dank schon mal.
Ich hab allerdings zwei fragen.- Kann man events direkt aus dem ical Adapter nutzen?
- wie kann man in Blockly ein event erzeugen welches dann in einer liste auftaucht bin da in JS nicht so bewandert.
-
@martin-blank
@hg6806 @MadTrinitydafür gibt es doch mittlerweile den adapter ereignisliste (eventlist) - ist der nicht das richtige für eure zwecke
-
Ja sehr gut. Hatte ich noch nicht gesehen. Werde ich mir gleich mal anschauen.
Kannst du mir denn trotzdem erklären, wie ich mit Hilfe von Blockly ein event erzeugen kann.Lg Martin
-
eignetlich ungern
weil
das ganze arbeitet mit einem global script - d.h. jedes script bekommt das globale script angehängt, damit du in jedem script die möglichkeit hast, die event function aufzurufen
d.h. du mußt in jedem script, indem der wert (event) vorkommt, den event selbst erzeugen - in einem javascript oder einem blockly - das ist sehr aufwendig
der eventlist adapter kann einfach definiert werden - wenn ein wert geändert wird - dann schreibe den event - und dann ist es egal, in welchen scripten der wert vorkommt - du brauchst keinen block in einem script schreiben - das wird alles im eventlist adapter definiert
um eine globale function in einem blockly aufzurufen, benötigst du eine javascript function, die im blockly eingebunden ist - dh. du musst einen function block nehmen, definieren,. welche werte du übergeben willst und im function block wird dann event() aufgerufen - und das musst du in jedem script machen, indem der event vorkommen könnte - wie gesagt umständlich - aber als das script gemacht wurde, gab es den eventlist adapter nicht und daher war das gut gemacht
wenn du mit der zeit scripte anhäufst, wird die verwaltung der aufrufe der events unüberschaubar - kenn ich von einem anderen globalen script bei mir - zusätzlich: wenn das globale script einen fehler hat, wird dieser fehler in jedem script (da angehängt) ausgeführt - das führt leicht zu abstürzen des iob !!!
-
Wow das nenn ich mal eine sehr gute Erklärung da.
Ok dann werde ich es weiter mit dem Adapter versuch.