Hallo,
ich konnte mir bis jetzt viele Informationen aus diesen Thread ausziehen aber nun bin ich mit meinem Latain am Ende.
Folgende Situation:
Ich habe einige Sonoff Basic in den Deckenlampen eingebaut. Diese steuere ich zum einem über Alexa zum anderen über 433MHz Wandtaster (da nur Niederspannung Stromstoßschalter verbaut sind).
Das dieser Scripte ist es mir am Freitag auch gelungen alles miteinander zu verbinden, und Funktionierte auch wunderbar.
Der Mqtt Server brachte nur eine Warnung raus das bestimmte Befehle ab der nächsten Version nicht mehr unterstützt werden und das man es Fixen sollte.
Nun gut dachte ich mir, solange ich kein Update mache, wird es schon funktionieren, Denkste. Seit heute Morgen funktionieren die Taster nicht mehr.
Im Log steht dann das:
javascript.0 2018-04-03 17:19:45.708 error at Object.createScript (vm.js:56:10)
javascript.0 2018-04-03 17:19:45.707 error SyntaxError: Unexpected token import
javascript.0 2018-04-03 17:19:45.707 error ^^^^^^
javascript.0 2018-04-03 17:19:45.706 error import * as request from "request-promise-native";
javascript.0 2018-04-03 17:19:45.705 error at script.js.Taster.Kinderzimmer2:2
javascript.0 2018-04-03 17:19:45.705 error script.js.Taster.Kinderzimmer2 compile failed:
javascript.0 2018-04-03 17:19:45.699 info Start javascript script.js.Taster.Kinderzimmer2
javascript.0 2018-04-03 17:04:55.786 error at Object.createScript (vm.js:56:10)
javascript.0 2018-04-03 17:04:55.785 error SyntaxError: Unexpected token import
javascript.0 2018-04-03 17:04:55.785 error ^^^^^^
javascript.0 2018-04-03 17:04:55.784 error import * as request from "request-promise-native";
javascript.0 2018-04-03 17:04:55.784 error at script.js.Taster.RF_Code_Parsen:2
javascript.0 2018-04-03 17:04:55.784 error script.js.Taster.RF_Code_Parsen compile failed:
javascript.0 2018-04-03 17:04:55.772 info Start javascript script.js.Taster.RF_Code_Parsen
javascript.0 2018-04-03 17:04:55.761 info Stop script script.js.Taster.RF_Code_Parsen
Alles anzeigen
Die Scripte dazu sehen so aus: Rf Code Parsen
var idJSON = 'mqtt.0.tele.sonoffbridge.RESULT'; // Datenpunkt-ID mit JSON-String
var RFWert;
function JSONtoRF(json) {
var obj = JSON.parse(json);
RFWert = obj.RfReceived.Data;
var idJSON = 'mqtt.0.SENSOR'; // Datenpunkt-ID mit JSON-String
var idRFWert = 'mqtt.0.data';
setState(idRFWert, RFWert);
}
JSONtoRF(getState(idJSON).val); // Script start
on(idJSON, function(dp) { // triggern bei Wertänderung
JSONtoRF(dp.state.val);
});
Alles anzeigen
Das Script zum schalten sieht so aus:
on({id: "mqtt.0.data"/*data*/, change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mqtt.0.data").val == '*849978*') { setState("sonoff.0.Mila.POWER"/*Mila POWER*/, true); if (getState("sonoff.0.Mila.POWER").val == true) { setState("sonoff.0.Mila.POWER"/*Mila POWER*/, false); } }
});
Die Daten vom Sonoff Bridge werden über Mqtt auch korrekt wieder gegeben, jedoch hängt es am Parsing-Script.
Ich habe Diverse Versionen von den MQTT , Javascript und IoBrokerAdmin durchprobiert, die Scripte neu eingefügt bzw. mit Blockly neunachgebaut, es werden immer nur die oben genannten Fehler ausgeworfen.
Wie schon oben geschrieben, ich weiß nicht mehr weiter, sehe den Wald vor lauter Bäumen nicht und darf mir von meiner Familie das Gefluche über die neue Technik anhören.
Ich hoffe ihr könnt mir helfen.
MfG
Myday