NEWS
IoBroker.scenes
-
Ich habe gerade über den admin versucht scenes upzudaten:
$ ./iobroker upgrade scenes npm install iobroker.scenes --production --prefix "/opt/iobroker" (System call) npm http GET https://registry.npmjs.org/iobroker.scenes npm http 404 https://registry.npmjs.org/iobroker.scenes npm ERR! TypeError: Cannot call method 'match' of undefinednpm ERR! at RegClient. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:119:29) npm ERR! at cb (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:158:9) npm ERR! at RegClient. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:252:14)npm ERR! at Request.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/request.js:129:22) npm ERR! at Request.EventEmitter.emit (events.js:98:17) npm ERR! at Request. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/request/request.js:873:14) npm ERR! at Request.EventEmitter.emit (events.js:117:20) npm ERR! at IncomingMessage. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/request/request.js:824:12) npm ERR! at IncomingMessage.EventEmitter.emit (events.js:117:20) npm ERR! at _stream_readable.js:920:16 npm ERR! If you need help, you may report this log at: npm ERR! <http: github.com/isaacs/npm/issues=""> npm ERR! or email it to:npm ERR! <npm-@googlegroups.com> npm ERR! System Linux 3.18.11-v7+ npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "iobroker.scenes" "--production" "--prefix" "/opt/iobroker"npm ERR! cwd / npm ERR! node -v v0.10.22 npm ERR! npm -v 1.3.14 npm ERR! type non_object_property_call npm ERR! npm ERR! Additional logging details can be found in:npm ERR! /npm-debug.log npm ERR! not ok code 0 Cannot install iobroker.scenes: 1 ERROR: process exited with code 25</npm-@googlegroups.com></http:></anonymous></anonymous></anonymous></anonymous>
Gruß
Rainer
-
Ich habe gerade über den admin versucht scenes upzudaten:
$ ./iobroker upgrade scenes npm install iobroker.scenes --production --prefix "/opt/iobroker" (System call) npm http GET https://registry.npmjs.org/iobroker.scenes npm http 404 https://registry.npmjs.org/iobroker.scenes npm ERR! TypeError: Cannot call method 'match' of undefinednpm ERR! at RegClient. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:119:29) npm ERR! at cb (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:158:9) npm ERR! at RegClient. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:252:14)npm ERR! at Request.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/request.js:129:22) npm ERR! at Request.EventEmitter.emit (events.js:98:17) npm ERR! at Request. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/request/request.js:873:14) npm ERR! at Request.EventEmitter.emit (events.js:117:20) npm ERR! at IncomingMessage. <anonymous>(/usr/local/lib/node_modules/npm/node_modules/request/request.js:824:12) npm ERR! at IncomingMessage.EventEmitter.emit (events.js:117:20) npm ERR! at _stream_readable.js:920:16 npm ERR! If you need help, you may report this log at: npm ERR! <http: github.com/isaacs/npm/issues=""> npm ERR! or email it to:npm ERR! <npm-@googlegroups.com> npm ERR! System Linux 3.18.11-v7+ npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "iobroker.scenes" "--production" "--prefix" "/opt/iobroker"npm ERR! cwd / npm ERR! node -v v0.10.22 npm ERR! npm -v 1.3.14 npm ERR! type non_object_property_call npm ERR! npm ERR! Additional logging details can be found in:npm ERR! /npm-debug.log npm ERR! not ok code 0 Cannot install iobroker.scenes: 1 ERROR: process exited with code 25</npm-@googlegroups.com></http:></anonymous></anonymous></anonymous></anonymous>
Gruß
Rainer `
http://forum.iobroker.org/viewtopic.php … 1152#p9346habe ich extra geschrieben
> P.S. Scenes kann man noch nicht installieren.
-
Das hatte ich anders verstanden
War ja schon installiert - sollte NUR upgedated werden.
Ok - dann eben nicht, gibt schlimmeres!
Gruß
Rainer
-
Die Szenen haben echt Potential! Ich hänge gerade allerdings an einer Sache, vielleicht ist es auch garnicht möglich:
Ich möchte, sobald der Harmony Adapter eine Aktivität erkennt, eine Steckdose ohne Verzögerung einschalten. Wird die Aktivität beendet soll die Steckdose wieder ausgeschaltet werden, aber diesmal mit Verzögerung, damit Beamer oder andere Geräte noch in Ruhe auslaufen können.
-
Kann man das vielleicht mit 2 Szenen "Kino" und "Kino Ende" machen?
Die Frage hatte ich mir gerade gestellt während dein Adapter installiert.
Gruß
Rainer
Gesendet von meinem LIFETAB_S785X mit Tapatalk
-
Kann man das vielleicht mit 2 Szenen "Kino" und "Kino Ende" machen? `
Das ist die Lösung.
378_bildschirmfoto_2018-01-10_um_08.54.40.png -
Das ist die Lösung.
`
So grob habe ich es hinbekommen, bin dabei aber glaube ich auf noch mehr Fehler im Adapter gestoßen, siehe github. -
wie lassen sich bestehende Szenen kopieren? Wenn ich auf den Button ganz hinten in der Reihe clicke, dann passiert leider nichts.
EDIT:
der jeweils letzte Eintrag lässt sich nicht kopieren, also ein einzelner auch nicht
EDIT2:
Es hat nicht funktioniert, da am Ende des Namens eine Nummer stand
Beim kopieren bekommt auch der Ursprung eine Nummer angehängt
-
Bei mir klappts.
Win7 Home
Chrome
Also wieder die üblichen verdächtigen:
-
Browser cache
-
anderer Browser
Gruß
Rainer
-
-
moin, moin
ich spiele gerade mit dem Scenen Adapter rum. Ich meine mich erinnern zu können, das für die Cron Einstellungen ein Assistent auf ging. Der Assistent fehlt jetzt! Ist das beabsichtigt?
Hilfreich für z.B Bewegungsmelder wäre, wenn man mehrere Trigger eintragen könnte. (Bewegung und Helligkeit z.B.)
Ich wollte im Cron Job einstellen das die Beleuchtung für 5 min eingeschaltet bleiben soll. Der Trigger für On kommt von einer Variable. Was muss ich eintragen für die 5 min on?
mfg
Armin
-
Auch ich spiele mit dem scenes adapter herum, zum testen und um die Doku vorzubereiten.
Mein Szenario soll werden:
Film ansehen - Heimkino, bestehend aus:
Auslöser: manuelles herunterfahren der Leinwand
Szene soll (erst einmal) bestehen aus:
-
sofort über Harmony-Hub die activity "Kino-Bluray" starten
-
Rolladen Tür und Fenster sofort schließen
-
Licht (Kranz und Decke) sofort 50%
-
Licht Decke ziemlich bald auf 0 dimmen
-
Licht Kranz etwas später auf 0 dimmen
bei mir sieht das so aus:
Abgesehen von den evtl. vorhandenen Problemen mit den Einheiten beim Level vom Rolladenaktor und Dimmer (0-1 oder 0-100??) habe ich nicht gefunden in welcher Einheit die Ramptime im Dimmer (5 war sofort aus - also nicht Minuten), die Verzögerung der Aktionen (Millisekunden???) einzutragen sind.
Weiterhin finde ich unter Zustände Werte, die anscheinend überhaupt nicht mit dem Zustand korrelieren.
Der harmony-Adapter zeigt nach wie vor als activity TV_Sat an, sowohl asl actual, als auch als Einzeldatenpunkt mit Wert 2
Die Leinwand ist angeblich auf 100, obwohl sie unten ist, in der CCU wird auch 0 angezeigt
und die Rollläden ebenfalls, nur das Licht stimmt:
und das log gefällt mir auch nicht:
scenes-0 2015-09-03 19:35:21 info restartAdapter scenes-0 2015-09-03 19:35:16 info restartAdapter scenes-0 2015-09-03 19:35:15 info restartAdapter scenes-0 2015-09-03 19:35:07 info restartAdapter scenes-0 2015-09-03 19:35:06 info restartAdapter hm-rpc-0 2015-09-03 19:32:38 info setValue ["JEQ0202324:1","LEVEL",{"explicitDouble":0}] FLOAT hm-rpc-0 2015-09-03 19:32:37 info setValue ["JEQ0202324:1","RAMP_TIME",{"explicitDouble":300}] FLOAT hm-rpc-0 2015-09-03 19:32:37 info setValue ["JEQ0201654:1","LEVEL",{"explicitDouble":0}] FLOAT hm-rpc-0 2015-09-03 19:32:37 info setValue ["JEQ0201654:1","RAMP_TIME",{"explicitDouble":300}] FLOAT hm-rpc-0 2015-09-03 19:32:36 info setValue ["JEQ0202324:1","LEVEL",{"explicitDouble":0.5}] FLOAT hm-rpc-0 2015-09-03 19:32:36 info setValue ["JEQ0201654:1","LEVEL",{"explicitDouble":0.5}] FLOAT hm-rpc-0 2015-09-03 19:32:35 info setValue ["JEQ0112564:1","LEVEL",{"explicitDouble":0}] FLOAT hm-rpc-0 2015-09-03 19:32:35 info setValue ["JEQ0112436:1","LEVEL",{"explicitDouble":0}] FLOAT scenes-0 2015-09-03 19:31:49 info restartAdapter scenes-0 2015-09-03 19:31:18 info restartAdapter scenes-0 2015-09-03 19:31:14 info restartAdapter scenes-0 2015-09-03 19:31:13 info restartAdapter scenes-0 2015-09-03 19:31:11 info restartAdapter scenes-0 2015-09-03 19:31:09 info restartAdapter scenes-0 2015-09-03 19:31:06 info restartAdapter scenes-0 2015-09-03 19:31:05 info restartAdapter scenes-0 2015-09-03 19:30:53 info restartAdapter scenes-0 2015-09-03 19:30:51 info restartAdapter scenes-0 2015-09-03 19:30:48 info restartAdapter scenes-0 2015-09-03 19:30:47 info restartAdapter scenes-0 2015-09-03 19:30:47 info restartAdapter scenes-0 2015-09-03 19:30:41 info restartAdapter scenes-0 2015-09-03 19:30:23 info restartAdapter scenes-0 2015-09-03 19:30:16 info restartAdapter scenes-0 2015-09-03 19:30:15 info restartAdapter
Kann mir da jemand helfen?
Gruß
Rainer
PS ich hatte zwischendrin mal die Leinwand wieder hoch und runter gefahren.
-
-
habe es jetzt anscheinend am laufen.
ich hatte beim Dimmer die Ramptime auf 400 statt auf 40 gestellt, dadurch dauerte der Dimmvorgang sehr lange.
Irrtümlich nahm ich erst an, dass die Verzögerung zu spät kommt.
Habe dann meine zweite Szene angefangen.
Nach abschalten des TV sollen die Lampe verzögert ausgehen.
Klappt auch so weit, jedoch ist das Ergebnis wie so oft zwar das, was programmiert ist, aber nicht das was gewollt war.
Kann man den Auslöser für die Szene auch aus verschiedenen Bedingungen zusammensetzen, oder muss sowas wieder über js gemacht werden?
ggf, cron + Bedingung??, so dass die Szene durch die Bedingung nur in einem Zeitfenster z.B. zwischen 22h und 24h ausgelöst wird
Gruß
Rainer
5741_mobile_ui_functions.jpg -
` > Kann man den Auslöser für die Szene auch aus verschiedenen Bedingungen zusammensetzen, oder muss sowas wieder über js gemacht werden?
ggf, cron + Bedingung??, so dass die Szene durch die Bedingung nur in einem Zeitfenster z.B. zwischen 22h und 24h ausgelöst wird `
Momentan nur mit JS möglich. -
Ich habe jetzt Szenen erweitert, so dass man virtuelle Gruppen bilden konnte. Z.B. man hat 3 Thermostaten im Raum.
Man kann jetzt die zu eine virtuelle Gruppe binden und über vis mit einem Widget steuern.
48_img_013.png -
Ich habe ziemlich wenig Feedback über Scenes bekommen. Obwohl ich den Adapter ziemlich wichtig finde.
Ist alles verständlich? Was konnte man besser oder noch machen?
-
Hi Bluefox,
ich nutze den Adapter Scenes gerne und häufig. In der letzten Zeit sind mir keine Fehler aufgefallen, alles funktioniert wie es soll
Er spart einige Javascripte, in denen ich früher halt nacheinander mühselig zeitversetzt einzelne Lampen/Geräte geschaltet habe.
Vielen Dank
Gruss Marco
-
Ich nutze den Adapter auch für einige Funktionen. Oft kann man sich ein Skript dadurch sparen.
Während dem Bearbeiten/Hinzufügen von Szenen stürzt der Adapter allerdings permanent ab:
host-raspberrypi 2015-10-29 14:06:18 error instance system.adapter.scenes.0 terminated with code 6 (uncaught exception) TypeError: 2015-10-29 14:06:18 error at Timer.listOnTimeout (timers.js:92:15) TypeError: 2015-10-29 14:06:18 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:367:30) TypeError: 2015-10-29 14:06:18 error at Adapter.emit (events.js:172:7) TypeError: 2015-10-29 14:06:18 error at emitTwo (events.js:87:13) TypeError: 2015-10-29 14:06:18 error at Adapter. (/opt/iobroker/node_modules/iobroker.scenes/main.js:99:13) TypeError: 2015-10-29 14:06:18 error at restartAdapter (/opt/iobroker/node_modules/iobroker.scenes/main.js:113:13) TypeError: 2015-10-29 14:06:18 error at exports.clearTimeout (timers.js:213:42) TypeError: 2015-10-29 14:06:18 error Cannot assign to read only property '_onTimeout' of scene.Harmony_an uncaught 2015-10-29 14:06:18 error exception: Cannot assign to read only property '_onTimeout' of scene.Harmony_an
-
Hier noch eine ausführlicher Beitrag zu dem Adapter:
Das Idee des Adapter finde ich sehr gut, die Wichtigkeit für die Automation von Abläufen ist enorm. Natürlich kann man alles per Skript lösen, aber das ist dank des Scene Adapter in vielen Fällen nicht mehr nötig. Allerdings finde ich, dass man noch an der Bedienbarkeit des Adapter verbessern kann, ich komme trotz intensiver Nutzung oft durcheinander was nun "Setzen" und "Setzen bei false" bedeutet usw., auch fällt es mir schwer komplexe Szene nachträglich zu bearbeiten. Was mir ein paar mal gefehlt hat ist das verknüpfen von Triggern, also Löse Szene aus wenn "x == 1 ODER y == 2 UND z == 0".
Inspiriert durch einige Erfahrung mit dem Harmony System (Activities) habe ich mir ein paar Gedanken zur besseren Bedienung gemacht:
Eine Szene sollte (auch optisch) unterteilt werden in einen Triggerausdruck, eine Startsequenz und eine Endsequenz.
Einen Triggerausdruck ist eine Liste aus Datenpunkten, Vergleichswerten und UND/ODER-Verknüfungen:
hm-rpc.0.XXX.1.STATE == 1 UND hm-rpc.0.YYY.1.STATE == 0
Man könnte nun (ähnlich wie es jetzt schon ist) entweder die Endsequenz starten sobald der gesamte Ausdruck nicht mehr wahr ist, oder aber einen zweiten Triggerausdruck definieren, welcher die Endsequenz auslöst wenn er wahr wird. Das hat aber den Nachteil, dass beide Ausdrücke gleichzeitig wahr sein können. Alternativ sollte eine Szene einfach nach einer definierten Zeit enden.
Start- und Endsequenzen bestehen aus Datenpunkten, Werten welche gesetzt werden sollen sowie Verzögerungen:
Startsequenz: hm-rpc.0.XXX.1.STATE.1 = 1 1000ms Verzögerung hm-rpc.0.YYY.1.STATE.1 = 0 Endsequenz: hm-rpc.0.YYY.1.STATE.1 = 1 1000ms Verzögerung hm-rpc.0.XXX.1.STATE.1 = 0
-
Hallo Bluefox,
ich nutze den Adapter auch sehr gern. Vor allem für die Lichtsteuerung. Der Adapter ersetzt natürlich nicht die Direktverknüpfungen zwischen Homematic Komponenten, aber er spart (wie oben von pman schon gesagt) viel Arbeit in Javascript.
<u>Javascript</u>
Vorteil:
-
Universelles ansprechen von Gruppen ("alle Lampen im Wohnzimmer aus" sind nur wenige Zeilen Code). Aktoren können getauscht werden, ohne den Code zu ändern. Sie müssen nur einem Gewerk zugeordnet werden (zB Licht, Raum Wohnzimmer).
-
Für die Dauer wartungsfreundlicher.
-
Bedingungen sind leichter eingebaut (Systemvariablen)
Nachteil:
-
Kenntnisse nötig
-
Testen nötig
-
genaue Dokumentation im Skript nötig
-
nur mit Workaround (ack oder weitere Variable) aus VIS aufrufbar
<u>Scenes</u>
Vorteil:
-
Einfacheres Setzen der Datenpunkte.
-
Jede Komponente wird direkt angesprochen.
-
unterschiedliche Zeitverzögerungen sind schnell eingebaut.
-
Benennung übersichtlicher als in Javascript.
-
Direktes aufrufen aus VIS
Nachteil:
-
Bei Änderung einer Komponente müssen alle Szenen nach dem Aktor durchsucht werden (Beispiel: Regallicht - alter Schaltaktor wird durch eine neuen Dimmer ersetzt).
-
Bedingungen nicht verfügbar (z.B. "wenn zwischen 20Uhr und 22 Uhr" oder "wenn (Regen == true) && (Temp < 10°C)" )
Ich nutze auch eine Kombination aus beidem. Einige Szenen werden einfach aus Javascript angestossen. Das ist zB in Verbindung mit den Homematic Wandtastern sehr praktisch. Wenn der Datenpunkt (zB Tastendruck oben lang) auf true geht, wird die Funktion aufgerufen
function tv_szene() { log('TV Szene gestartet'); setState('scene.0.tv_ein', true); // TV Licht ein via Szenen Adapter wird gestartet }
Ich wünsche mir noch:
-
Optionaler Logeintrag, wenn Szene gestartet (kann ich zwar mit Javascript machen, ein Haken in den Szeneneinstellungen wär super)
-
Drag and Drop bei der Festlegung der Reihenfolge
Fragen:
Ich habe die Neuerung http://forum.iobroker.net/posting.php?mode=reply&f=23&t=1134#pr13597 nicht verstanden. Kannst du das nochmal erklären?
Was bedeutet "Use trigger for true/false" ?
Kann man eine Szene aus einer anderen Szene starten? (Beispiel: Szene Licht_alles_aus startet Szenen Licht_alles_aus_Wohnzimmer, Licht_alles_aus_Flur, Licht_alles_aus_Küche, etc.) ?
Danke fü die Entwicklung dieses tollen Adapters!
Gruß,
Pix
-
-
Hallo pix
@pix:Fragen:
Ich habe die Neuerung Virtuelle Gruppen nicht verstanden. Kannst du das nochmal erklären?
Was bedeutet "Use trigger for true/false" ? `
@[url=http://www.iobroker.net/?page_id=1950⟨=de:~~Website"]~~Setze Werte bei False: Ist diese Checkbox angehakt, können zu jedem eingebundenen Datenpunkt eine Aktion bei true und eine Aktion bei false eingegeben werden. Letztere Befehle werden abgearbeitet, wenn der Zustand der gesamten Szene false ist. `
Wenn ich das richtig verstanden habe, wird mit diesen "Gruppen" ermöglichst mehrere Dinge aufeinmal zu schalten.
Trigger 1: Taster oben kurz startet die "Szene"
Trigger 2: Taster unten kurz beendet die Szene.
Bei normalen Szenen startet die Szene wenn der Trigger ausgelöst wird und endet eigentlich nie.
Hoffe das stimmt so.
Gruß
Rainer