NEWS
Test js-controller v2.0.x (GitHub)
-
@SBorg
Could not install NodeJS typings. This is not critical.
kommt vom Installer-Skript aus dem JS-Adapter, welches versucht, die Typdefinitionen für deine aktuelle Node.js-Version zu installieren. Ohne die funktioniert die Syntaxhilfe ggf. nur zum Teil. -
@SBorg sagte in [Aufruf] js-controller 2.0 Beta Test:
habe ich auch nicht. Lief wohl die Engine trotzdem noch, denn die Skripte liefen munter durch, nur hat es ev. die Versions-Info zerbröselt...? Wäre mir ohne das Update auf 2.0.25 aber gar nicht aufgefallen.
Also Haken wir es erstmal als "Nicht mit 2.0 related" ab...
-
https://github.com/ioBroker/ioBroker.node-red/issues/65
Würde sagen DONE, wenn auch kein Problem des JS-2.0, so hat er es aber doch gefixtZum folgenden kommt dann noch ein Issue zum Node-RED Adapter. Ist zwar hier ein wenig OT, hat aber doch damit zu tun. Nach intensivem Studium und stundenlangem rumprobieren und unermüdlicher Schützenhilfe durch @apollon77 ist nun auch meine letzte Baustelle beseitigt. Man mag sich erinnern, bei mir läuft seit JS-2.0 das Dashboard von Node-RED nicht mehr. Das ist kein Fehler vom JS-Controller, nur kam es seit JS 2.0 unter Node-RED beim starten uU. zu Timing-Problemen. Im Zuge des nötigen Updates des Node-RED Adapters wurde auch das Dashboard auf die aktuelle 2.17 aktualisiert. Und da liegt der Hund begraben. Nutzt man, wie bspw. ich
, einen Reverse Proxy (wer keinen Ahnung hat was dass ist, nutzt auch keinen) dann wird man mit einer Dashboard-Version > 2.11.0 mit einem weißen Bildschirm "belohnt". Lt. Issues bei Node-RED sollte der Fehler längst behoben sein, sieht aber in der 2.17 nicht wirklich danach aus...
Als work around (getestet) downgrade des Dashboards durchführen:
Node-RED Adapter stoppen im Terminal eingeben (ggf. ioBroker-Verzeichnis anpassen): cd /opt/iobroker/node_modules/iobroker.node-red/ npm install node-red-dashboard@2.11.0 Node-RED Adapter wieder starten
Danke an Ingo für die Hilfe
-
@apollon77 ok, gerade nochmal geschaut, sorry, dass hier war noch vorne dran, hatte ich übersehen.
2019-10-10 05:04:33.077 - [32minfo[39m: javascript.1 (23932) > canvas@2.6.0 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/canvas > node-pre-gyp install --fallback-to-build
Hier nochmal komplett:
2019-10-10 05:04:33.077 - [32minfo[39m: javascript.1 (23932) > canvas@2.6.0 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/canvas > node-pre-gyp install --fallback-to-build 2019-10-10 05:04:36.294 - [32minfo[39m: host.debian instance system.adapter.ical.0 terminated with code 0 (NO_ERROR) 2019-10-10 05:04:36.573 - [32minfo[39m: bring.0 (24179) starting. Version 1.6.5 in /opt/iobroker/node_modules/iobroker.bring, node: v10.16.3 2019-10-10 05:04:36.619 - [31merror[39m: javascript.1 (23932) node-pre-gyp 2019-10-10 05:04:36.621 - [31merror[39m: javascript.1 (23932) 2019-10-10 05:04:36.622 - [31merror[39m: javascript.1 (23932) WARN 2019-10-10 05:04:36.624 - [31merror[39m: javascript.1 (23932) 2019-10-10 05:04:36.626 - [31merror[39m: javascript.1 (23932) Using request for node-pre-gyp https download 2019-10-10 05:04:36.627 - [31merror[39m: javascript.1 (23932) 2019-10-10 05:04:37.748 - [32minfo[39m: hm-rega.0 (24096) got 39 programs 2019-10-10 05:04:37.833 - [32minfo[39m: bring.0 (24179) [LOGIN] Successfully logged in as Frank 2019-10-10 05:04:37.841 - [32minfo[39m: hm-rega.0 (24096) added/updated 36 programs 2019-10-10 05:04:37.842 - [32minfo[39m: hm-rega.0 (24096) deleted 4 programs 2019-10-10 05:04:51.236 - [32minfo[39m: javascript.1 (23932) [canvas] Success: "/opt/iobroker/node_modules/iobroker.javascript/node_modules/canvas/build/Release/canvas.node" is installed via remote 2019-10-10 05:04:52.926 - [32minfo[39m: javascript.1 (23932) + canvas@2.6.0 added 50 packages from 33 contributors and audited 533 packages in 69.414s 2019-10-10 05:04:52.937 - [32minfo[39m: javascript.1 (23932) found 0 vulnerabilities 2019-10-10 05:04:53.011 - [32minfo[39m: javascript.1 (23932) requesting all states 2019-10-10 05:04:53.025 - [32minfo[39m: javascript.1 (23932) requesting all objects
Also war das wohl beim installieren von canvas in der javascript.1. Instanz, erst Fehler, dann hat er es aber trotzdem installiert, oder sehe ich das falsch?
Den zweiten Fehler, werde ich mal schauen ob ich es irgendwie provoziert bekommen, ich habe mal in Javascript nach "_id" gesucht, da kommen nur 2 Scripts in Frage.
Ansonsten sieht alles gut aus, Adapter noch alle grün, kein Error im Log
-
@coyote Also 1.) Bei npm installs vom javascript adapter werden alle normalen npm Ausgaben ins Log geschrieben. Also: Das ist einfach die ganz normale Ausgabe von npm beim installieren dieses Pakets. Also alles ok, muss so in dem Fall
2.) Der Fehler mit _id kommt aus dem Javascript Adapter. Der liesst alle Objekte und an der Stelle gabs einen Zustand den er nicht erwartet hat - auch strange das beim nächsten Restart das nicht aufgetreten ist. Im nächsten javascript Update wird die Stelle gefixt sein ... Interessant wäre trotzdem es nochmal herzustellen
-
Jungs, ich habe es schon immer gewusst. Ihr seid spitze.
Obwohl ich schon einen Platz in der Psychiatrie klar gemacht habemusste ich feststellen, ihr habt mich gerettet.
Es funktioniert auf beiden Systemen (Master/Client) die Version 2.0.25 soweit wunderbar. Wenn ich ein Datenobjekt erstellen möchte, ist dies wie gewohnt möglich, allerdings ist nach dem Löschen die Aktualisierung über den Pfeil von Nöten. So wie sonst, gleich nach dem Löschen, verschwindet das Objekt nicht, ist aber nicht so schlimm. Alle Adapter funktionieren bei mir wunderbar.
Mein Problem mit dem Xiaomi Temperatursensor scheint entweder am Adapter oder dem Sensor zu liegen. Ich glaube es ist besser, wenn ich mich da an die Jungs vom Zigbee Adapter wende.
Was ich festgestellt habe, dass (vielleicht durch die Umstellung) der ioBroker dort keine Sonderzeichen akzeptiert werden. Für die Verbindung des Datenpunktes "lumi.weather" und Alexa ist es wichtig, dass "°C" unter "unit" zu stehen hat, aber jetzt taucht ständig (bei jeder Temperaturaktualisierung) anstatt " ° " , "�" auf. Bin noch am Suchen woran das liegt.Super, ich freue mich, dass es, dank Euch, jetzt funktioniert.
DANKE -
@Nuggelbeb sagte in [Aufruf] js-controller 2.0 Beta Test:
allerdings ist nach dem Löschen die Aktualisierung über den Pfeil von Nöten. So wie sonst, gleich nach dem Löschen, verschwindet das Objekt nicht,
Das ist ein Admin Bug der in 3.6.8 hoffentlich gefixt sein wird
-
@Nuggelbeb sagte in [Aufruf] js-controller 2.0 Beta Test:
Für die Verbindung des Datenpunktes "lumi.weather" und Alexa ist es wichtig, dass "°C" unter "unit" zu stehen hat, aber jetzt taucht ständig (bei jeder Temperaturaktualisierung) anstatt " ° " , "�" auf. Bin noch am Suchen woran das liegt.
Exportiere mir bitte mal einen Baum mit solchen States, das muss ich mir ansehen. nicht das da nochwas mit encodings im Argen ist ... Du hast ein file/file System richtig?
bzw: Wenn Du in den Datenpunkt gehst in die Objektdefinition und dort die Unit korrigierst. Ist Sie ab dann korrekt auch über restarts hinaus?
-
@Nuggelbeb Ok, mit em Gradzeichen hab ich alles durchsucht. Das passt alles und auch bei mir (weatherundeground) sind "grad-Zeichen" alle korrekt da.
Wieviele sind denn bei dir betroffen? Nu "grad Zeichen"? Oder auch andere?Wie ist es bei anderen? Kann jemand solche "kaputten Sonderzeichen in Units nachvollziehen?
-
@apollon77 sagte in [Aufruf] js-controller 2.0 Beta Test:
Kann jemand solche "kaputten Sonderzeichen in Units nachvollziehen?
Hatte gestern schon alles abgegrast, alles iO ° µ ² ³
-
@apollon77
Ja ich habe ein file/file System.
Die Umänderung in unit geht kurzzeitig bis sich wieder die Temperatur ändert und dann taucht wieder das Hieroglyphzeichen auf.
Hier die Datei aus Objekte: zigbee.0.00158d00034d13af.json -
@apollon77 irgendwie wollen manche Scripte nicht laufen und warum steht bei mir an jedem Script "Instanz deaktiviert" obwohl sie aktiviert ist?
Dieses Script hier will auch nicht mehr:
var HueApi = require("node-hue-api").HueApi; // Replace IP and username!!! var host = "192.168.66.31", username = "16f4f7d727e98e3f3eaXXXXXXX", api = new HueApi(host, username); var groups_ = [], lights_ = [], objects_ = []; // Log JSON results var displayResults = function(result) { console.log('Reponse: '+JSON.stringify(result, null, 2)); }; // Parse Light Group 0 (All Lights) var parseGroup0 = function(result) { if (!result.lights){return} // Empty group var id = result.id, lights = result.lights, name = "All Lights"; console.debug('group: '+name+', lights: '+lights); groups_[lights] = name; }; // Parse Light Groups var parseGroups = function(result) { for (var i = 0; i < result.length; i++) { if (!result[i].lights){continue} // Empty group var id = result[i].id, lights = result[i].lights, name = result[i].name; console.debug('group: '+name+', lights: '+lights); groups_[lights] = name; } }; // Parse Lights var parseLights = function(result) { for (var i = 0; i < result.length; i++) { var id = result[i].id, name = result[i].name; console.debug('light: '+name+', id: '+id); lights_[id] = name; } }; // Create States in ioBroker var createStates = function(result) { // Resync button createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'}); for (var i = 0; i < result.length; i++) { if (!result[i].appdata.data){continue} // skip internal szenes var id = result[i].id, lights = result[i].lights, name = result[i].name.replace(/"/g,''), pathname = name.replace(/ /g,'_'); // Get light names var light_names = []; for (var j = 0; j < lights.length; j++) { var light_name = lights_[lights[j]]; light_names.push(light_name); } // Room, group or lights linked with scene var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", "); // Create States and skip duplicates if (!objects_[lights+pathname]){ console.debug('scene: '+name+', '+group); createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'}); objects_[lights+pathname] = true; } } }; // Delete States function deleteStates(){ console.log('Deleting current objects for scenes...'); objects_ = []; $('javascript.0.PhilipsHue.Scenes.*').each(function (id) { deleteState(id); }); } // Fetch data from Hue API function init(){ api.getGroup(0, function(err, group0) { if (err) throw err; console.log('Processing group 0...'); //displayResults(group0); parseGroup0(group0); }); api.groups(function(err, groups) { if (err) throw err; console.log('Processing ' + groups.length + ' groups...'); //displayResults(groups); parseGroups(groups); }); api.lights(function(err, lights) { if (err) throw err; console.log('Processing ' + lights.lights.length + ' lights...'); //displayResults(lights); parseLights(lights.lights); }); api.scenes(function(err, scenes) { if (err) throw err; console.log('Processing ' + scenes.length + ' scenes...'); //displayResults(scenes); createStates(scenes); }); } // Init on start init(); // Activate scene on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) { if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return} sceneId = obj.id.split('.').pop(); console.log('Activating '+obj.name); api.activateScene(sceneId, function(err, result) { if (err) throw err; displayResults(result); }); setState(obj.id, false); }); // Resync on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) { console.log('Resync triggered...'); groups_ = []; lights_ = []; deleteStates(); init(); }); /*schedule("0 3 * * *", function () { console.log('Resync triggered...'); groups_ = []; lights_ = []; deleteStates(); init(); });*/
javascript.0 2019-10-10 19:49:59.137 info (15370) script.js.Hue_Szenen_abfragen: registered 2 subscriptions and 1 schedule javascript.0 2019-10-10 19:49:59.099 info (15370) Start javascript script.js.Hue_Szenen_abfragen javascript.0 2019-10-10 19:49:55.995 info (15370) Stop script script.js.Hue_Szenen_abfragen
Das wars mehr kommt da nicht mehr... Ne Idee wo ich suchen kann? Mir ist es nur aufgefallen, als meine Hue Lampe heute nicht an ging, wird über ein Script gesteuert.
-
@Nuggelbeb ok wenn zigbee das überschreibt bitte issue bei zigbee anlegen.
-
@coyote ich hab beim JavaScript Adapter dazu ein issue gesehn.
-
@apollon77 ah ok, alles klar.
Warum das Script nicht mehr korrekt läuft, muss ich selbst mal schauen, irgendwas passt da nicht.
Die anderen Scripte laufen anscheinend ja. -
@Nuggelbeb welche zigbee Version?
-
Installierte Version: 0.11.3
-
@Nuggelbeb @arteck sagte mir du sollst mal aktuelle GitHub nehmen.
-
@apollon77
Auf GitHub ist es doch die aktuelle Version.
-
Direkt von Github installieren (Adapter --> Katze Symbol oder 'iobroker url http://.....), dann hast die letzten Commits unabhängig der letzten Version.