NEWS
ScriptGUI early access
-
Guten Morgen,
aufgrund des jüngsten Beitrages bin ihc auf scriptgui wieder aufmerksam geworden, da ich sehr viel mit Skripten arbeite. Installieren ging, jedoch wenn ich die >Seite aufrufe, kommt nur das hintergrundbild und sonst nix. Auf dem Testsystel läuft windows 10. jemand ne idee? `
Adapter gestartet ?
–-----------------------
Send from mobile device
-
Adapter gestartet ? `
Jep läuft, hab ihn auch auf debug umgestellt, nix auffälliges zu sehen
-
Versuch mal direkt vom Github zu installieren falls Du npm Version genommen hast
Ansonsten ist ScriptGui immer noch "Early Acccess" und Smiling_Jack hat es noch nicht als offiziellen Adapter gemeldet, was auch im aktuellen Entwicklungsstand korrekt ist. EInige DInge gehen noch nicht so wie Sie sollen.
Ich hoffe auch das Smiling_Jack bald Zeit findet wieder weiterzumachen , sodass wir vllt wirklich bald eine offizielle Version haben die zu den Standard-Adaptern kann.
-
Habe es direkt von git installiert. Werde es heute Abend noch mal versuchen.
Gesendet von meinem SM-G930F mit Tapatalk
-
Hi,
gibt es zu Script Gui schon etwas neues?
Eventuelle eine Info wann der erste "offizielle" Release erfolgt oder so?
Danke und Gruß
-
` > Hi,
gibt es zu Script Gui schon etwas neues?
Eventuelle eine Info wann der erste "offizielle" Release erfolgt oder so?
Danke und Gruß `
Jep! wäre ich auch ganz heiß drauf!
-
` > Eine Baustelle die mich aber momentan am meisten stört ist das man selbst erstellte Objekte in iobroker nicht als Trigger verwenden kann, bekomme hier bei Live Test im rechten Fenster für das Objekt das als Trigger dienen soll undefined. Das Script wird auch nicht ausgeführt. Wenn ich aber ein Trigger eines durch einen Adapter erstellten Objektes (owfs oder z-wave) nehme geht alles wunderbar.
Ist das ein Bug? oder mache ich was beim anlegen eigener Objekte falsch? `
Wenn das gefixt würde, wäre ich schon zufrieden :roll:
-
Poste doch mal die Objektproperties von einem funktionierenden Objekt und von einem wo es nicht tut. Kann mir vorstellen das vllt nur ein nicht gesetzter Name o.ä. zu dem undefined führt. Das liesse sich aber einfach fixen indem man den selbst angelegten Objekten die richtigen Properties setzt.
-
` > Eine Baustelle die mich aber momentan am meisten stört ist das man selbst erstellte Objekte in iobroker nicht als Trigger verwenden kann, bekomme hier bei Live Test im rechten Fenster für das Objekt das als Trigger dienen soll undefined. Das Script wird auch nicht ausgeführt. Wenn ich aber ein Trigger eines durch einen Adapter erstellten Objektes (owfs oder z-wave) nehme geht alles wunderbar.
Ist das ein Bug? oder mache ich was beim anlegen eigener Objekte falsch? `
Wenn das gefixt würde, wäre ich schon zufrieden :roll: `
Habe das gerade mal probiert bei mir ist es kein Proble. Das selbst erstellte Objekt muss allerdings vom Typ ein state sein
-
> Habe das gerade mal probiert bei mir ist es kein Proble. Das selbst erstellte Objekt muss allerdings vom Typ ein state sein
Sorry für die späte Antwort :roll: War mal im Urlaub :roll:
Das mit dem state muss ich mal bei Gelegenheit checken, danke erst mal smiling_Jack
-
So Habe das mal überprüft
> Habe das gerade mal probiert bei mir ist es kein Proble. Das selbst erstellte Objekt muss allerdings vom Typ ein state sein
ist bei mir der fall
Hier das Objekt wo es geht
Hier das Objekt wo es NICHT geht
Und hier noch mal im script
-
Poste bitte mal die Objektdefinitonen (Tab "raw")
-
Ok! Bitteschön
-
Sorry, das 2te Bild noch mal
-
Zwei Ideen, rein ins Blaue:
1. Dein eigenes Objekt liegt nicht unter einer Adapterinstanz (z.b. javascript.0), das zwave-Objekt schon. Könnte eventuell Probleme machen, das gabs in ähnlicher Form schon mal.
2. Das Objekt muss nur type="state" haben, common.role kann passend gewählt sein. Mir ist hier keine Rolle "state" bekannt => https://github.com/ioBroker/ioBroker/bl … ject-types
Kann mir aber nicht vorstellen, dass das problematisch ist.
-
` > 2. Das Objekt muss nur type="state" haben, common.role kann passend gewählt sein. Mir ist hier keine Rolle "state" bekannt => https://github.com/ioBroker/ioBroker/bl … ject-types
Kann mir aber nicht vorstellen, dass das problematisch ist. `
Denke auch nicht das es an der Rolle liegt, Habe noch andere Objekte mit anderen common.role da geht es auch nicht. Wie wichtig ist denn die common.role eigentlich? Hatte das bisher so verstanden das es eigentlich nur zum besseren auffinden eines Objektes zu gebrauchen ist. :?
` > Zwei Ideen, rein ins Blaue:
1. Dein eigenes Objekt liegt nicht unter einer Adapterinstanz (z.b. javascript.0), das zwave-Objekt schon. Könnte eventuell Probleme machen, das gabs in ähnlicher Form schon mal. `
Ich denke hier könnte der Hase im Pfeffer liegen :shock: Sämtliche selbst erstellten Objekte liegen über einer Adapterinstanz, also in der Baumhierarchie ganz oben.
Wollte schon lange mal Ordnung da rein bringen, bisher habe ich immer eigene Objekte einfach mit dem +Button oben links angelegt und da landeten sie automatisch in der Obersten Baumhierarchie :? Wie lege ich denn einen Ordner, zb. "Eigene Objekte" unter der javascript.0 instanz an? In diesen Ordner könnte ich ja dann all meine selbst angelegten Objekte erstellen. Am besten noch mit mehreren Unterordnern, passend zum Script oder so.
Danke! für die Hilfe!
-
Wie lege ich denn einen Ordner, zb. "Eigene Objekte" unter der javascript.0 instanz an? In diesen Ordner könnte ich ja dann all meine selbst angelegten Objekte erstellen. `
Du musst nur der ID des States beim Anlegen ein Präfix wie "javascript.0.ordnername." voranstellen. Also statt "MeinState" nennst du den "javascript.0.Ordner.MeinState". Oder direkt in einer Fake-Adapterstruktur, z.b. "EigeneObjekte.0.Ordner.MeinState". Die (optische) Struktur legt ioBroker für dich an. -
So Habe es probiert, es geht
Habe ich das so richtig gemacht?
Gibt es die Möglichkeit bereits erstellte Objekte in einen neuen Ordner zu verschieben? Ohne das ich meine Scripte bzw. Views die diese Objekte verwenden anpassen muss? Hier stimmt ja dann der Pfad zum Objekt nicht mehr. Oder?
-
Habe ich das so richtig gemacht? `
Eigene_Objekte soll kein extra State sein. Du willst ja keinen Wert darin speichern, sondern nur in den Objekten darunter.Es reicht, ein Objekt z.B. "javascript.0.Eigene_Objekte.Test" zu erstellen, ohne dass "javascript.0.Eigene_Objekte" vorher existiert. Der Ordner wird in der Baumstruktur trotzdem angezeigt.
Gibt es die Möglichkeit bereits erstellte Objekte in einen neuen Ordner zu verschieben? `
Nicht dass ich wüsste, vielleicht weiß jemand anders mehr. -
Moin….
nachdem ich durch Zufall gesehen habe, das mein Lieblingstool von CCU.IO nun in ioBroker existiert, habe ich dieses auch gleich installiert.
Laufen tut´s auf einer Virtuellen Maschine:
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-4-amd64
Architecture: x86-64
Nach anfänglichen Problemen mit dem "Live Test" , habe ich den Adapter "Javascript" und "ScriptGui" neu installiert, was Abhilfe schuf.
Nun bin ich an einen Punkt angekommen, wo ich absolut keinen Anhaltspunkt mehr habe.
Ich benutze im ScriptGui aus der Logic den "Timespan". Nur leider bekomme ich aus dem Log des IO.Broker s eine Fehlermeldung
Javascipt:
! // Force Variablen
! // Timeout Variablen
! // Blocking Variablen
! // CCU.IO Objekte
! // Trigger
! schedule(" */1 * * * * ", function (data){codebox_1(data); }); //Programm_1
! function codebox_1(data){ var string_1_out = "05:00";var string_2_out = "22:00";var now = new Date(); var time1 = new Date(); var time2 = new Date(); var in1 = string_1_out; var in2 = string_2_out; var double1 = in1.split(" "); var double2 = in2.split(" "); var time; var date1; var date2; if (double1[1]) { time = double1[1].split(":"); date1 = double1[0].split("."); date2 = double1[0].split("-"); } else { time = in1.split(":"); date1 = in1.split("."); date2 = in1.split("-"); } if (time.length == 2) { time1.setHours(time[0]); time1.setMinutes(time[1]); } if (time.length == 3) { time1.setHours(time[0]); time1.setMinutes(time[1]); time1.setSeconds(time[2]); } if (date2.length == 3) { if (date2[0].length == 4) { time1.setFullYear(date2[0]); } else { time1.setFullYear("20" + date2[0]); } time1.setMonth(date2[1] - 1); time1.setDate(date2[2]); } if (date1.length == 3) { if (date1[0].length == 4) { time1.setFullYear(date1[2]); } else { time1.setFullYear("20" + date1[2]); } time1.setMonth(date1[1] - 1); time1.setDate(date1[0]); } if (double2[1]) { time = double2[1].split(":"); date1 = double2[0].split("."); date2 = double2[0].split("-"); } else { time = in2.split(":"); date1 = in2.split("."); date2 = in2.split("-"); } if (time.length == 2) { time2.setHours(time[0]); time2.setMinutes(time[1]); } if (time.length == 3) { time2.setHours(time[0]); time2.setMinutes(time[1]); time2.setSeconds(time[2]); } if (date2.length == 3) { if (date2[0].length == 4) { time1.setFullYear(date2[0]); } else { time1.setFullYear("20" + date2[0]); } time2.setMonth(date2[1] - 1); time2.setDate(date2[2]); } if (date1.length == 3) { if (date1[0].length == 4) { time2.setFullYear(date1[2]); } else { time2.setFullYear("20" + date1[2]); } time2.setMonth(date1[1] - 1); time2.setDate(date1[0]); }process.send(time1);process.send(time2); if (time1.valueOf() < now.valueOf() && time2.valueOf() > now.valueOf()) { var timespan_4_out = true; }else{ var timespan_4_out = false; }log("Timespan01 -> Programm_1 -> " + timespan_4_out);};Fehlermeldung:
javascript.0 2018-02-25 14:24:00.439 error at Object. (script.js.Test_Scripte.Timespan01:10:43)
javascript.0 2018-02-25 14:24:00.439 error at codebox_1 (script.js.Test_Scripte.Timespan01:11:3558)
javascript.0 2018-02-25 14:24:00.436 error Error in callback: ReferenceError: process is not defined
javascript.0 2018-02-25 14:23:00.435 error at Object. (script.js.Test_Scripte.Timespan01:10:43)
javascript.0 2018-02-25 14:23:00.435 error at codebox_1 (script.js.Test_Scripte.Timespan01:11:3558)
javascript.0 2018-02-25 14:23:00.434 error Error in callback: ReferenceError: process is not defined
javascript.0 2018-02-25 14:22:18.435 info script.js.Test_Scripte.Timespan01: registered 0 subscriptions and 1 schedule
javascript.0 2018-02-25 14:22:18.412 info Start javascript script.js.Test_Scripte.Timespan01
Evtl. kann mir jemand weiterhelfen