NEWS
[gelöst]Script mit script stoppen
-
wert kann von hand eingetragen werden
-
Dann erweitern wir das Skript mal, um einen Datenpunkt.
createState('alexa.Heizung', {type: 'boolean', def: false, read: true, write: true, role: 'switch'}) on ('javascript.0.alexa.Heizung', function(obj) { if (obj.state.val) { // case: true setState('viessmann.0.get.BetriebArtM1', 'ABSCHALT'); } else { // case: false setState('viessmann.0.get.BetriebArtM1', 'H+WW'); } });
Was jetzt noch fehlt ist die Anbindung an Alexa. Dafür müßte du den Datenpunkt
"javascript.0.alexa.Heizung" in den Cloud-Adapter einbinden mit Name "Heizung" und ihm den Status SWITCH geben.
Dann in die Alexa-App gehen und nach neuen Geräten suchen lassen, dann taucht der neue Datenpunkt dort auf.
Dann kannst Du sagen "Alexa, schalte Heizung an/aus" und das skript läuft
Sorry für den Compile-Fehler .. da ist mir bei on ein ) rein geraten.
MfG Markus
-
{ "from": "system.adapter.viessmann.0", "ts": 1538223413728, "common": { "name": "BetriebArtM1", "desc": "Setze Betriebsart M1" }, "native": {}, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "viessmann.0.set.BetriebArtM1", "type": "state" }
-
script startet nicht da fehler
j````
avascript.0 2018-09-29 16:56:04.577 error at Object.createScript (vm.js:80:10)
javascript.0 2018-09-29 16:56:04.577 error SyntaxError: Unexpected token )
javascript.0 2018-09-29 16:56:04.577 error ^
javascript.0 2018-09-29 16:56:04.576 error });
javascript.0 2018-09-29 16:56:04.576 error at script.js.common.Skript2:11
javascript.0 2018-09-29 16:56:04.576 error script.js.common.Skript2 compile failed: -
Hab es oben nochmal korrigiert; da haste das falsche Skript schneller gelesen ..
Mußte nach dem ersten starten nochmal neu starten, da der on-Trigger schneller
erzeugt wird, als der State eingelesen werden kann. Das kolliert dann
an der Stelle.
Daher haben viele ein eigens Skript, nur um eigene States im Adapter zu erzeugen;
oder legen eigene States manuell irgendwo an.
MfG Markus
-
danke dir sehr
wenn ich den wert bei set.BetriebArtM1
muss ich das nur ändern oder?
-
"_id": "viessmann.0.set.BetriebArtM1", ```` `
Falsche ID im Skript verwendet !
createState('alexa.Heizung', false, {type: 'boolean', role: 'switch'}); on('javascript.0.alexa.Heizung', function(obj) { if (obj.state.val) setState('viessmann.0.set.BetriebArtM1', 'H+WW'); else setState('viessmann.0.set.BetriebArtM1', 'ABSCHALT'); });
-
Kürzer geht immer, was? ..
Ich bin ein Fan von { und } … da weiß man wo es anfägt und aufhört ...
-
-
Macht auch mehr Sinn sie bei true anzuschalten …
Darauf hatte ich nicht geachtet geb ich zu .. hab keine Viessmann-Heizung,
nur ne 12 Jahre alte .. da war noch nix mit Smart und so ...
-
Meine ist auch recht alt. So 2001 oder so. Aber das zubehör machts halt.
Zur info….es klappt perfekt. Danke nochmal
-
Schön das Dir schon geholfen wurde.
(ich habe unerwartet Besuch bekommen und musste dann aufhören.)
PS:
Den Smartnamen für Alexa bzw. den CloudAdapter baue ich mir bei eigenen Datenpunkten immer gleich mit ein.
Hier z.B. für meinen Rasenmäher
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... b2ab16.jpg">https://uploads.tapatalk-cdn.com/20180929/a8c50c94b00d4ef4411032e45cb2ab16.jpg</link_text>" /> -
es klappt perfekt. `
Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].