NEWS
Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen
-
Was noch fehlte, ist die Einbindung mehrerer Bewegungsmelder in eine Zone.
Ok, ging bisher natürlich, aber jetzt smarter integriert;- (Mic-M) New feature: If you are using multiple motion sensors for a zone: whenever a motion device triggers, the turn off timer is being stopped and a new timer is set per the latest motion sensor.
Das bedeutet:
Wenn ihr mehrere Bewegungsmelder in einer Zone habt, und- Bewegungsmelder A löst aus um 19:00 (3 Min = Abschaltung 19:03)
- Bewegungsmelder B löst aus um 19:02:30 (3 Min = Abschaltung um 19:05:30)
...dann wird der Timer von Bewegungsmelder A gelöscht und frisch gesetzt (also quasi verlängert) auf 19:05:30. Das ganze Spiel geht so weiter, bis halt kein Bewegungsmelder der Zone mehr auslöst.
Das ist einer der Vorteile, die die Zonen dieses Adapters so bringen...Noch nicht auf Github, folgt bald.
-
@liv-in-sky sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
habe das setting mit json gemacht- magst du lieber bilder des settings ?
Danke, so ist es perfekt.
Konnte es nachvollziehen. Ich musste einiges im Code ändern, damit ein State mehr als einmal als Trigger verwendet werden kann, bislang wurden dann weitere Zeilen ignoriert. Ist nun behoben (noch nicht auf Github, folgt...).@MartyBr sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Der gleiche Fehler kommt bei den Temperaturwerten unterhalb von alias.0 wieder.
Ich poste hier, sobald die nächste Github-Version verfügbar ist. Schau dann bitte noch mal ob es geht, hab einiges ausgebügelt im Code und bin noch an mehreren Sachen und paar Features.
@Christoph1337 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Wenn Bewegung kurz. Z. B. 3 Minuten. Dann Licht nach 5 Minuten abschalten.
Wenn Bewegung länger. Z. B. 15 Minuten. Licht für 30 Minuten an lassen.Habe es mal in die Wunschliste aufgenommen.
@DocGame sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Wäre es nicht möglich in den DP-Werten neben true, false usw. auch ein Toggle bei den Zielgeräten bzw. Statusänderung beim Auslöser einzubauen.
Ich fände dies bei einigen Projekten äusserst hilfreich....Wie definiert sich ein Toggle, bzw. wie verhält sich ein Toggle-Datenpunkt eines Adapters? Steht der immer auf true, oder wechselt dann auf false?
@Cristian sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Was mir noch fehlt ist die Möglichkeit die Zielgeräte mit einen Anderen Auslöser (zB Wippschalter) zu toggeln (umshalten wie in Blockly). Wäre es möglich, eine Option "toggle" bei den Auslöser einzubauen? Danke!
Noch mal Toggle
Wie funktioniert denn so ein Toggle aus "Datenpunkt-Sicht"?@Michael-Sauer sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Es werden die eingestellten Zeiten ignoriert. Es werden immer beide Zonen aktiviert.
Schau ich mir an und melde mich.
@crunchip sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Nur so mal in den Raum geworfen, bei intensiver Nutzung, wird diese List doch recht lang und unübersichtlich. Gäbe es da nicht eine Möglichkeit, eine Art Untermenü anzulegen, so alla "Räume" z.b.?
Guter Punkt, gefällt mir auch noch nicht so gut.
Nehme ich auf die Liste.Übrigens, was schon mal geht, aber dir jetzt nicht hilft: Du setzt Punkte, also bei "Geräte-Name" z.B.
Flur EG.Lichter.Wandlicht 1.

Nach dem Speichern legt der Adapter dies als verlinkten Datenpunkt zu den originalen Datenpunkten an:

Da hat man schon mal eine "Ordner-Struktur". Ändert sich (in diesem Beispiel) der shelly.0-Datenpunkt, so ändert sichsmartcontrol.0.targetDevices.Flur EG.Lichter.Wandlicht 1automatisch, und umgekehrt.Hilft dir nur (noch) nicht dann bei der Auswahl der Zielgeräte...
@Cristian sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Was mir noch fehlt ist die Möglichkeit die Zielgeräte mit einen Anderen Auslöser (zB Wippschalter) zu toggeln (umshalten wie in Blockly). Wäre es möglich, eine Option "toggle" bei den Auslöser einzubauen? Danke!
Noch mal Toggle
Wie funktioniert denn so ein Toggle aus "Datenpunkt-Sicht"?Aus meiner Sicht geht es nicht um den Auslöser selbst, sondern um die Logik bei der Ausführung, wie die Zielgeräte ein und ausgeschaltet werden: wenn die Zielgeräte aus sind, werden sie vom Auslöser eingeschaltet und umgekehrt, wenn sie ein sind, werden sie ausgeschaltet.
Sowas kann ich mir vorstellen wie unten - eine Toggle-Option, wenn man diese benutzt, wird der Auslöser diese Verhalten bei der Ausführung haben.

-
@Michael-Sauer sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Es werden die eingestellten Zeiten ignoriert. Es werden immer beide Zonen aktiviert.
Poste mal bitte in Code-Tags den Log-Auszug (Adapter-Instanz auf Log-Level "debug" stellen).
2020-07-13 21:03:37.163 - info: smartcontrol.0 (3027) Got terminate signal TERMINATE_YOURSELF 2020-07-13 21:03:37.166 - info: smartcontrol.0 (3027) Stopping adapter instance successfully proceeded... 2020-07-13 21:03:37.167 - info: smartcontrol.0 (3027) terminating 2020-07-13 21:03:37.167 - info: smartcontrol.0 (3027) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2020-07-13 21:03:41.243 - debug: smartcontrol.0 (9798) Redis Objects: Use Redis connection: 127.0.0.1:9001 2020-07-13 21:03:41.283 - debug: smartcontrol.0 (9798) Objects client ready ... initialize now 2020-07-13 21:03:41.288 - debug: smartcontrol.0 (9798) Objects create System PubSub Client 2020-07-13 21:03:41.289 - debug: smartcontrol.0 (9798) Objects create User PubSub Client 2020-07-13 21:03:41.290 - debug: smartcontrol.0 (9798) Objects client initialize lua scripts 2020-07-13 21:03:41.314 - debug: smartcontrol.0 (9798) Objects connected to redis: 127.0.0.1:9001 2020-07-13 21:03:41.322 - debug: smartcontrol.0 (9798) objectDB connected 2020-07-13 21:03:41.325 - debug: smartcontrol.0 (9798) Redis States: Use Redis connection: 127.0.0.1:6379 2020-07-13 21:03:41.331 - debug: smartcontrol.0 (9798) States create User PubSub Client 2020-07-13 21:03:41.334 - debug: smartcontrol.0 (9798) States create System PubSub Client 2020-07-13 21:03:41.342 - debug: smartcontrol.0 (9798) States connected to redis: 127.0.0.1:6379 2020-07-13 21:03:41.343 - debug: smartcontrol.0 (9798) statesDB connected 2020-07-13 21:03:41.747 - info: smartcontrol.0 (9798) starting. Version 0.1.0-alpha.9 in /opt/iobroker/node_modules/iobroker.smartcontrol, node: v10.21.0, js-controller: 3.1.6 2020-07-13 21:03:41.877 - warn: smartcontrol.0 (9798) [getAstroNameTs] No time found for [nightEnd]. 2020-07-13 21:03:41.932 - warn: smartcontrol.0 (9798) [getAstroNameTs] No time found for [night]. 2020-07-13 21:03:41.991 - info: smartcontrol.0 (9798) Adapter admin configuration successfully validated... 2020-07-13 21:03:42.266 - info: smartcontrol.0 (9798) Subscribing to all target devices states... 2020-07-13 21:03:42.983 - info: smartcontrol.0 (9798) Subscribing to all trigger states... 2020-07-13 21:03:42.987 - info: smartcontrol.0 (9798) 0 trigger schedules activated... 2020-07-13 21:03:50.206 - debug: smartcontrol.0 (9798) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [320] (ack: true) 2020-07-13 21:03:50.210 - debug: smartcontrol.0 (9798) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:03:50.213 - debug: smartcontrol.0 (9798) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:03:50.215 - debug: smartcontrol.0 (9798) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":320,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:03:53.711 - info: smartcontrol.0 (9798) Got terminate signal TERMINATE_YOURSELF 2020-07-13 21:03:53.713 - debug: smartcontrol.0 (9798) (0) trigger schedules cancelled... 2020-07-13 21:03:53.714 - info: smartcontrol.0 (9798) Stopping adapter instance successfully proceeded... 2020-07-13 21:03:53.715 - info: smartcontrol.0 (9798) terminating 2020-07-13 21:03:53.716 - info: smartcontrol.0 (9798) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2020-07-13 21:03:57.717 - debug: smartcontrol.0 (9914) Redis Objects: Use Redis connection: 127.0.0.1:9001 2020-07-13 21:03:57.759 - debug: smartcontrol.0 (9914) Objects client ready ... initialize now 2020-07-13 21:03:57.763 - debug: smartcontrol.0 (9914) Objects create System PubSub Client 2020-07-13 21:03:57.764 - debug: smartcontrol.0 (9914) Objects create User PubSub Client 2020-07-13 21:03:57.765 - debug: smartcontrol.0 (9914) Objects client initialize lua scripts 2020-07-13 21:03:57.786 - debug: smartcontrol.0 (9914) Objects connected to redis: 127.0.0.1:9001 2020-07-13 21:03:57.795 - debug: smartcontrol.0 (9914) objectDB connected 2020-07-13 21:03:57.798 - debug: smartcontrol.0 (9914) Redis States: Use Redis connection: 127.0.0.1:6379 2020-07-13 21:03:57.804 - debug: smartcontrol.0 (9914) States create User PubSub Client 2020-07-13 21:03:57.807 - debug: smartcontrol.0 (9914) States create System PubSub Client 2020-07-13 21:03:57.813 - debug: smartcontrol.0 (9914) States connected to redis: 127.0.0.1:6379 2020-07-13 21:03:57.814 - debug: smartcontrol.0 (9914) statesDB connected 2020-07-13 21:03:58.650 - info: smartcontrol.0 (9914) starting. Version 0.1.0-alpha.9 in /opt/iobroker/node_modules/iobroker.smartcontrol, node: v10.21.0, js-controller: 3.1.6 2020-07-13 21:03:59.494 - warn: smartcontrol.0 (9914) [getAstroNameTs] No time found for [nightEnd]. 2020-07-13 21:03:59.533 - warn: smartcontrol.0 (9914) [getAstroNameTs] No time found for [night]. 2020-07-13 21:03:59.577 - info: smartcontrol.0 (9914) Adapter admin configuration successfully validated... 2020-07-13 21:03:59.845 - info: smartcontrol.0 (9914) Subscribing to all target devices states... 2020-07-13 21:04:00.042 - info: smartcontrol.0 (9914) Subscribing to all trigger states... 2020-07-13 21:04:00.046 - info: smartcontrol.0 (9914) 0 trigger schedules activated... 2020-07-13 21:04:00.206 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [330] (ack: true) 2020-07-13 21:04:00.210 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:04:00.214 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:04:00.215 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":330,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:04:10.210 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [340] (ack: true) 2020-07-13 21:04:10.213 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:04:10.214 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:04:10.215 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":340,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:04:20.206 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [350] (ack: true) 2020-07-13 21:04:20.209 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:04:20.210 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:04:20.211 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":350,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:04:30.207 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [360] (ack: true) 2020-07-13 21:04:30.213 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:04:30.213 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:04:30.214 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":360,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:04:36.444 - debug: smartcontrol.0 (9914) system.adapter.admin.0: logging true 2020-07-13 21:04:40.209 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [370] (ack: true) 2020-07-13 21:04:40.215 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:04:40.216 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:04:40.217 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":370,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:04:50.207 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [380] (ack: true) 2020-07-13 21:04:50.212 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:04:50.213 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:04:50.214 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":380,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]} 2020-07-13 21:04:51.707 - info: zigbee.0 (3981) Configuring 0x000d6f000e36eced Motion Sensor-A 2020-07-13 21:05:00.208 - debug: smartcontrol.0 (9914) Subscribed state 'zigbee.0.00158d0002b484af.no_motion' changed, new value: [390] (ack: true) 2020-07-13 21:05:00.212 - debug: smartcontrol.0 (9914) State 'zigbee.0.00158d0002b484af.no_motion' change --> execute asyncTriggerActivated() 2020-07-13 21:05:00.213 - debug: smartcontrol.0 (9914) Execution rows for 'Flur MS unten links' successfully found. 2020-07-13 21:05:00.213 - debug: smartcontrol.0 (9914) [cP] : {"triggerType":"statePath","triggerStatePath":"zigbee.0.00158d0002b484af.no_motion","targetOff":false,"triggerStateValSet":390,"scheduleRows":[{"active":true,"name":"Flur Licht unten Tag","start":"06:00","end":"20:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[""],"never":[""]},{"active":true,"name":"Flur Licht unten Nacht","start":"20:00","end":"06:00","mon":true,"tue":true,"wed":true,"thu":true,"fri":true,"sat":true,"sun":true,"additionalConditions":[],"never":[]}],"triggerIsMotion":true,"triggerName":"Flur MS unten links","triggerStateVal":0,"motionDuration":70,"motionBriStatePath":"zigbee.0.00158d0002b484af.illuminance","motionBriThreshold":"5","zoneNames":["Flur Licht unten Tag","Flur Licht unten Nacht"],"targetDeviceNames":["Flur Wandlampe unten","Flur Tischlampe unten 1","Flur Tischlampe unten 2"]}system.adapter.smartcontrol.0.json
Wenn noch was fehlt sag bescheid.
Toller Adapter ansonsten. Danke.
-
@Cristian sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Was mir noch fehlt ist die Möglichkeit die Zielgeräte mit einen Anderen Auslöser (zB Wippschalter) zu toggeln (umshalten wie in Blockly). Wäre es möglich, eine Option "toggle" bei den Auslöser einzubauen? Danke!
Noch mal Toggle
Wie funktioniert denn so ein Toggle aus "Datenpunkt-Sicht"?Aus meiner Sicht geht es nicht um den Auslöser selbst, sondern um die Logik bei der Ausführung, wie die Zielgeräte ein und ausgeschaltet werden: wenn die Zielgeräte aus sind, werden sie vom Auslöser eingeschaltet und umgekehrt, wenn sie ein sind, werden sie ausgeschaltet.
Sowas kann ich mir vorstellen wie unten - eine Toggle-Option, wenn man diese benutzt, wird der Auslöser diese Verhalten bei der Ausführung haben.

-

Aktuelle Test Version 0.1.0-alpha.8 34567Veröffentlichungsdatum 12. Juli 2020 Github Link https://github.com/Mic-M/ioBroker.smartcontrol Über diesen Adapter
Mein ursprünglicher Plan war/ist, das Bewegungsmelder-Script durch einen Adapter abzulösen. In meiner Umfrage war das auch Wunsch Nummer 1 als nächster Adapter.
Daraus ist nun der "Smart Control"-Adapter entstanden, der aber deutlich mehr kann als nur Bewegungsmelder, und es wird noch deutlich mehr folgen

Alles dreht sich bei dem Adapter um Auslöser (z.B. Wandschalter wird geschaltet, Bewegungsmelder aktiviert, Fenster wird geöffnet, 8:30 Uhr Freitags tritt ein, Sonnenaufgang + 30 Minuten am Wochenende tritt ein, etc.), worauf dann Datenpunkte geschaltet werden, wenn weitere Bedingungen zutreffen (z.B. "mindestens eine Person anwesend"). Ausgeschaltet wird dann optional auch wieder automatisch z.B. mittels Timer (also wenn Bewegungsmelder verwendet: keine Bewegung mehr und nach angegebenen Sekunden).
Die ganze Logik legt ihr in den Adapter-Einstellungen an und verknüpft diese dort entsprechend.
Hier kurz erklärt (Screenshot von den Adapter-Einstellungen);

Ein paar Beispiel-Anwendungen (Use Cases):
- Bad wird am Montag um 7:00 betreten (falls nicht Feiertag), dann geht das Licht an und das Radio schaltet sich an. Falls nach 15 Minuten keine Bewegung mehr, wird ausgeschaltet.
- Flurlicht-Steuerung mit Bewegungsmeldern, Lichtschaltern, etc.
- Küchenlicht schaltet sich bei Bewegung ein, wenn Helligkeit kleiner x Lux und andere Kriterien (z.B. jemand anwesend, Uhrzeit/Astro, etc.) zutreffen.
- Relax-Bereich: Licht geht an und Alexa spielt Musik, sobald sich jemand auf den Sessel in der "Leseecke" sitzt und es nach Sonnenuntergang minus 30 Minuten ist. Sobald keiner mehr sitzt (z.B. erkannt über Xiaomi-Tür/Fenster-Sensor), wird wieder ausgeschaltet.
Der Adapter legt mehrere Datenpunkte an:
smartcontrol.0.Test– rein zum testen, haben keinerlei sonstige Auswirkungen. Details siehe "Für Tester" in der Adapter-Startseite (Admin):

smartcontrol.0.info.astroTimes: Hier werden eure aktuellen Astrozeiten angezeigt. Der Adapter aktualisiert diese Datenpunkte für euch jede Nacht um 0.00 Uhr.

Zeitstempel (timeStamps) gibt es auch, falls ihr die Astrozeiten zur JavaScript/Blockly-Entwicklung nutzen wollt.
Der Adapter selbst nutzt diese Datenpunkte nicht aktiv, sondern kalkuliert selbst, dient also nur für euch zur Info und soll ein ggf. bislang genutztes Script hierfür ersetzen. Weil ich ja eh schon die Infos im Adapter habe (über suncalc), stelle ich sie euch hier gleich zur Verfügung
Ihr könnt damit außerdem die aktuellen Astrozeiten sehen für eure Einstellungen, ist ja dann doch "verwirrend", wann z.B. "nauticalDusk" jetzt genau ist aktuell...smartcontrol.0.targetDevices: Hier erscheinen alle "ZIELGERÄTE" als Datenpunkte. Für jede Tabellenzeile unter "1. ZIELGERÄTE" fügt dieser Adapter verknüpfte Datenpunkte zusmartcontrol.x.targetDevices.xxxhinzu. Wenn du diese Datenpunkte änderst, wird der ursprüngliche Ziel-Datenpunkt entsprechend geändert, und umgekehrt, d.h. die Datenpunkte sind verlinkt.

Das ist sozusagen eine kleine "Alias / Linked Devices"-Implementierung. Du kannst also Geräte im SmartControl-Adapter unter "ZIELGERÄTE" anlegen und dann nur noch die Datenpunkte unterhalb vonsmartcontrol.0.targetDeviceszum ein- und ausschalten in deinen anderen Scripts verwenden. Wie du halt magst...smartcontrol.0.options: Hier kannst du Tabellenzeilen der Adapter-Konfig aktivieren und deaktivieren. Bitte beachte, dass eine Änderung einen Neustart der Adapter-Instanz auslöst, weil nur damit die geänderten Zeitpläne, Verifzierungen usw. greifen.
Ursprünglicher Thread auch mit allen Erklärungen usw.
Hier: Planung neuer Adapter: Smart Control
Testen
Der Adapter kann nun endlich getestet werden, Feuer frei

Bitte beachten
Mehrere Abschnitte in den Adapter-Einstellungen sind noch nicht in Deutsch übersetzt.- ioBroker-Admin-Issue #590 - Auswahlfelder müssen "an der Seite" angeklickt werden. Ist bereits behoben im ioBroker Admin Adapter, aber ist derzeit noch präsent.
Bisherige Erweiterungs-Anfragen
Zum Testen
Weitere Infos zum Testen findet ihr im Adapter selbst:

Du brauchst Hilfe? Es gibt ein Problem? Du hast einen Verbesserungsvorschlag?
Am besten postest du erst mal hier (auch wenn in den Adapter-Optionen schon mal anders beschrieben für zukünftige Versionen), weil der Adapter noch so früh in der Entwicklung ist.
Ich sammle hier alle Erweiterungswünsche: Github - Erweiterungswünsche, die ich später noch besser strukturiere und priorisiere, usw.
Meine Entwicklungs-Approaches
- Durchgängig Promises mittels async/await, also so wie modern vorgesehen

- Durchgängig try/catch als Errorhandling, aber vor dem "catch" schon vieles abfangen
- Kapseln in eigene Funktionen wenn immer möglich/sinnvoll
- Alles gut dokumentiert im Quellcode
- User-Eingaben immer verifizieren und mit aussagekräftigem Log ausgeben falls was nicht passt. Habe keine Lust auf Fehlersuche, wenn ich nicht genau weiß, wie ich anfangen soll. Grad bei fremden Datenpunkten usw. ein großes Thema...
To Do's beim Adapter-Code:
- Restrukturierung, der Adapter-Code ist ziemlich gewachsen, muss da mal prinzipiell noch mal ran. Ggf. auch isolierte Sachen in eigene Klassen und sogar eigene Files packen, usw.
- Noch nicht umgesetzte 'this.log.error' in throw() umwandeln und dort dann
this.dumpError()sowie entsprechenden return. - Wiederholende Logiken noch besser in Funktionen kapseln.
- Noch bessere Trennung: Adapter-spezifisch, vs. Adapter-unabhängig, vs. node.js.-generisch
- Konsistentere Logausgaben debug vs. info vs. extendedInfo
- ggf. eigene Klasse für User-Input der Admin-Optionen zur Validierung, möglichst generisch und verwendbar dann auch für andere Adapter
- ...
@Mic Ist es bereits möglich, die Helligkeit einer zu schaltenden Lampe von einem gemessenen LUX Wert abhängig zu machen?
Ggf. bräuchte man hier die Möglichkeit, statt eines fixen Zielwertes, einen JavaScript Code zu hinterlegen, der den Zielwert als Rückgabewert hat.Konkret habe ich bei meiner Treppenbeleuchtung einen Aqara Bewegungsmelder. Dieser aktualisiert bei Bewegung auch den Umgebungshelligkeitswert der Treppe (also bevor die Lampe geschaltet wird
).
Ich schalte nun die Beleuchtung der Treppe abhängig von der Umgebungshelligkeit (bspw. nachts wenn es dunkel ist, geht das Licht auch nur dunkel an).Hier kurz der Auszug aus dem aktuellen Blockly und als JavaScript Code.

-
@Mic Ist es bereits möglich, die Helligkeit einer zu schaltenden Lampe von einem gemessenen LUX Wert abhängig zu machen?
Ggf. bräuchte man hier die Möglichkeit, statt eines fixen Zielwertes, einen JavaScript Code zu hinterlegen, der den Zielwert als Rückgabewert hat.Konkret habe ich bei meiner Treppenbeleuchtung einen Aqara Bewegungsmelder. Dieser aktualisiert bei Bewegung auch den Umgebungshelligkeitswert der Treppe (also bevor die Lampe geschaltet wird
).
Ich schalte nun die Beleuchtung der Treppe abhängig von der Umgebungshelligkeit (bspw. nachts wenn es dunkel ist, geht das Licht auch nur dunkel an).Hier kurz der Auszug aus dem aktuellen Blockly und als JavaScript Code.

@siggi85 abfrage nach number sollte so funktionieren
https://forum.iobroker.net/post/461249
(ich glaube aber - das ausschalten wird erst mit dem nächsten update integriert sein)
-
Guten Morgen,
bei mir funktioniert das Ganze mit dem normalen Hue Adapter ohne Probleme (Tasmota Birnen über den MQTT Adapter + den Philips Hue Bewegungsmelder)
Wenn ich jedoch den Hue Extended Adapter benutze, geht das Ganze nicht, also die 3 Birnen gehen nicht an.
Woran kann das liegen?
presence Object verändert sich von false zu true sobald Bewegung erkannt wird.
Kennt jemand/gibt es eine andere Lösung zwecks der Reaktionszeit/der Verzögerung? Gleiches Problem beim Node-Red Adapter, beträgt ja bei allen Adaptern mindestens 2 Sekunden...
Nur in der Alexa App/den Routinen reagiert der Bewegungsmelder sofort.
Hauptgrund warum ich das hier nutze ist, weil in der Alexa App/den Routinen ich den Bewegungsmelder nur nach 1 Minute ausschalten kann und hier bereits nach 15/30/45 Sekunden etc.Debug:
smartcontrol.0 2020-07-14 09:46:21.859 debug (17219) [cP] : {"triggerType":"statePath","triggerStatePath":"hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence","targetOff":false,"triggerStateValSet":false,"scheduleRows":[{"active":tr smartcontrol.0 2020-07-14 09:46:21.857 debug (17219) Execution rows for 'BW Küche' successfully found. smartcontrol.0 2020-07-14 09:46:21.856 debug (17219) State 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' change --> execute asyncTriggerActivated() smartcontrol.0 2020-07-14 09:46:21.777 debug (17219) Subscribed state 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' changed, new value: [false] (ack: true) smartcontrol.0 2020-07-14 09:46:05.156 debug (17219) [cP] : {"triggerType":"statePath","triggerStatePath":"hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence","targetOff":false,"triggerStateValSet":true,"scheduleRows":[{"active":tru smartcontrol.0 2020-07-14 09:46:05.154 debug (17219) Execution rows for 'BW Küche' successfully found. smartcontrol.0 2020-07-14 09:46:05.152 debug (17219) State 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' change --> execute asyncTriggerActivated() smartcontrol.0 2020-07-14 09:46:05.087 debug (17219) Subscribed state 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' changed, new value: [true] (ack: true) hue-extended.0 2020-07-14 09:44:22.263 debug (17234) system.adapter.admin.0: logging true smartcontrol.0 2020-07-14 09:44:21.588 debug (17219) system.adapter.admin.0: logging true hue-extended.0 2020-07-14 09:44:14.117 debug (17234) system.adapter.admin.0: logging false smartcontrol.0 2020-07-14 09:44:14.114 debug (17219) system.adapter.admin.0: logging false smartcontrol.0 2020-07-14 09:43:57.296 debug (17219) [cP] : {"triggerType":"statePath","triggerStatePath":"hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence","targetOff":false,"triggerStateValSet":false,"scheduleRows":[{"active":t smartcontrol.0 2020-07-14 09:43:57.293 debug (17219) Execution rows for 'BW Küche' successfully found. smartcontrol.0 2020-07-14 09:43:57.292 debug (17219) State 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' change --> execute asyncTriggerActivated() smartcontrol.0 2020-07-14 09:43:57.230 debug (17219) Subscribed state 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' changed, new value: [false] (ack: true) smartcontrol.0 2020-07-14 09:43:43.186 debug (17219) [cP] : {"triggerType":"statePath","triggerStatePath":"hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence","targetOff":false,"triggerStateValSet":true,"scheduleRows":[{"active":tr smartcontrol.0 2020-07-14 09:43:43.183 debug (17219) Execution rows for 'BW Küche' successfully found. smartcontrol.0 2020-07-14 09:43:43.177 debug (17219) State 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' change --> execute asyncTriggerActivated() smartcontrol.0 2020-07-14 09:43:43.117 debug (17219) Subscribed state 'hue-extended.0.sensors.050-bewegungsmelder_küche.state.presence' changed, new value: [true] (ack: true) hue-extended.0 2020-07-14 09:43:19.966 info (17234) Establishing connection to bridge.. hue-extended.0 2020-07-14 09:43:19.886 info (17234) starting. Version 1.3.8 in /opt/iobroker/node_modules/iobroker.hue-extended, node: v12.18.2, js-controller: 3.1.6 smartcontrol.0 2020-07-14 09:43:19.885 info (17219) 0 trigger schedules activated... smartcontrol.0 2020-07-14 09:43:19.879 info (17219) Subscribing to all trigger states... smartcontrol.0 2020-07-14 09:43:19.642 info (17219) Subscribing to all target devices states... hue-extended.0 2020-07-14 09:43:19.441 debug (17234) statesDB connected hue-extended.0 2020-07-14 09:43:19.439 debug (17234) States connected to redis: 127.0.0.1:9000 hue-extended.0 2020-07-14 09:43:19.417 debug (17234) States create System PubSub Client hue-extended.0 2020-07-14 09:43:19.411 debug (17234) States create User PubSub Client hue-extended.0 2020-07-14 09:43:19.397 debug (17234) Redis States: Use Redis connection: 127.0.0.1:9000 hue-extended.0 2020-07-14 09:43:19.392 debug (17234) objectDB connected hue-extended.0 2020-07-14 09:43:19.376 debug (17234) Objects connected to redis: 127.0.0.1:9001 hue-extended.0 2020-07-14 09:43:19.332 debug (17234) Objects client initialize lua scripts hue-extended.0 2020-07-14 09:43:19.329 debug (17234) Objects create User PubSub Client hue-extended.0 2020-07-14 09:43:19.326 debug (17234) Objects create System PubSub Client hue-extended.0 2020-07-14 09:43:19.317 debug (17234) Objects client ready ... initialize now hue-extended.0 2020-07-14 09:43:19.234 debug (17234) Redis Objects: Use Redis connection: 127.0.0.1:9001 smartcontrol.0 2020-07-14 09:43:16.964 info (17219) Adapter admin configuration successfully validated... smartcontrol.0 2020-07-14 09:43:16.707 debug (17219) system.adapter.admin.0: logging true host.raspberrypi-iob 2020-07-14 09:43:16.114 info instance system.adapter.hue-extended.0 started with pid 17234 smartcontrol.0 2020-07-14 09:43:15.768 info (17219) starting. Version 0.1.0-alpha.9 in /opt/iobroker/node_modules/iobroker.smartcontrol, node: v12.18.2, js-controller: 3.1.6 smartcontrol.0 2020-07-14 09:43:15.229 debug (17219) statesDB connected smartcontrol.0 2020-07-14 09:43:15.226 debug (17219) States connected to redis: 127.0.0.1:9000 smartcontrol.0 2020-07-14 09:43:15.207 debug (17219) States create System PubSub Client smartcontrol.0 2020-07-14 09:43:15.201 debug (17219) States create User PubSub Client smartcontrol.0 2020-07-14 09:43:15.184 debug (17219) Redis States: Use Redis connection: 127.0.0.1:9000 smartcontrol.0 2020-07-14 09:43:15.178 debug (17219) objectDB connected smartcontrol.0 2020-07-14 09:43:15.163 debug (17219) Objects connected to redis: 127.0.0.1:9001 smartcontrol.0 2020-07-14 09:43:15.136 debug (17219) Objects client initialize lua scripts smartcontrol.0 2020-07-14 09:43:15.133 debug (17219) Objects create User PubSub Client smartcontrol.0 2020-07-14 09:43:15.130 debug (17219) Objects create System PubSub Client smartcontrol.0 2020-07-14 09:43:15.121 debug (17219) Objects client ready ... initialize now smartcontrol.0 2020-07-14 09:43:14.726 debug (17219) Redis Objects: Use Redis connection: 127.0.0.1:9001 host.raspberrypi-iob 2020-07-14 09:43:13.633 info instance system.adapter.hue-extended.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) hue-extended.0 2020-07-14 09:43:13.084 info (17047) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason hue-extended.0 2020-07-14 09:43:13.083 info (17047) terminating hue-extended.0 2020-07-14 09:43:13.081 info (17047) Adapter stopped und unloaded. hue-extended.0 2020-07-14 09:43:13.079 info (17047) Got terminate signal TERMINATE_YOURSELF host.raspberrypi-iob 2020-07-14 09:43:13.073 info stopInstance system.adapter.hue-extended.0 send kill signal host.raspberrypi-iob 2020-07-14 09:43:13.069 info stopInstance system.adapter.hue-extended.0 (force=false, process=true) host.raspberrypi-iob 2020-07-14 09:43:12.539 info instance system.adapter.smartcontrol.0 started with pid 17219 hue-extended.0 2020-07-14 09:43:12.172 debug (17047) system.adapter.admin.0: logging false host.raspberrypi-iob 2020-07-14 09:43:09.899 info instance system.adapter.smartcontrol.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) smartcontrol.0 2020-07-14 09:43:09.342 info (17165) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason smartcontrol.0 2020-07-14 09:43:09.337 info (17165) terminating smartcontrol.0 2020-07-14 09:43:09.331 info (17165) Stopping adapter instance successfully proceeded... smartcontrol.0 2020-07-14 09:43:09.323 debug (17165) (0) trigger schedules cancelled... smartcontrol.0 2020-07-14 09:43:09.315 info (17165) Got terminate signal TERMINATE_YOURSELF host.raspberrypi-iob 2020-07-14 09:43:09.303 info stopInstance system.adapter.smartcontrol.0 send kill signal -
@siggi85 abfrage nach number sollte so funktionieren
https://forum.iobroker.net/post/461249
(ich glaube aber - das ausschalten wird erst mit dem nächsten update integriert sein)
@liv-in-sky sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
@siggi85 abfrage nach number sollte so funktionieren
https://forum.iobroker.net/post/461249
(ich glaube aber - das ausschalten wird erst mit dem nächsten update integriert sein)
Danke für deine Antwort.

In meinem Skript trigger ich auf den Bewegungsdatenpunkt und werte dann den LUX Datenpunkt aus. In deinem Beispiel müsste ich dann den trigger auf den LUX Datenpunkt setzen, damit ich diesen in der Bedingung auch auswerten kann. Das könnte aber auch funktionieren (da der LUX meines Wissens nur bei Bewegung gesetzt wird und somit auch als trigger genutzt werden könnte). Schöner wäre natürlich trotzdem der Trigger auf den Bewegungsdatenpunkt.
Eine "Formel" zur Berechnung der neuen Helligkeit kann ich so aber nicht implementieren. Wenn ich nach dem Muster mehrere feste "Helligkeitsstufen" einführe (etwas unübersichtlicher und nicht so flexibel wie eine kleine Formel), müssten auch mehrere Bedingungen möglich sein.
Funktionieren auch mehrere Bedingen? Also bspw:>=24 <24 & >=18 <18 & >=12 <12 & >=6 <6 -
@Mic @ALL
Wie sieht das denn mit einem Button als Zielgerät aus.
Z.B. bei einem Broadlink.
Irgendwie stehe ich hier auf dem Schlauch.
Geht das schon? -
@liv-in-sky sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
habe das setting mit json gemacht- magst du lieber bilder des settings ?
Danke, so ist es perfekt.
Konnte es nachvollziehen. Ich musste einiges im Code ändern, damit ein State mehr als einmal als Trigger verwendet werden kann, bislang wurden dann weitere Zeilen ignoriert. Ist nun behoben (noch nicht auf Github, folgt...).@MartyBr sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Der gleiche Fehler kommt bei den Temperaturwerten unterhalb von alias.0 wieder.
Ich poste hier, sobald die nächste Github-Version verfügbar ist. Schau dann bitte noch mal ob es geht, hab einiges ausgebügelt im Code und bin noch an mehreren Sachen und paar Features.
@Christoph1337 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Wenn Bewegung kurz. Z. B. 3 Minuten. Dann Licht nach 5 Minuten abschalten.
Wenn Bewegung länger. Z. B. 15 Minuten. Licht für 30 Minuten an lassen.Habe es mal in die Wunschliste aufgenommen.
@DocGame sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Wäre es nicht möglich in den DP-Werten neben true, false usw. auch ein Toggle bei den Zielgeräten bzw. Statusänderung beim Auslöser einzubauen.
Ich fände dies bei einigen Projekten äusserst hilfreich....Wie definiert sich ein Toggle, bzw. wie verhält sich ein Toggle-Datenpunkt eines Adapters? Steht der immer auf true, oder wechselt dann auf false?
@Cristian sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Was mir noch fehlt ist die Möglichkeit die Zielgeräte mit einen Anderen Auslöser (zB Wippschalter) zu toggeln (umshalten wie in Blockly). Wäre es möglich, eine Option "toggle" bei den Auslöser einzubauen? Danke!
Noch mal Toggle
Wie funktioniert denn so ein Toggle aus "Datenpunkt-Sicht"?@Michael-Sauer sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Es werden die eingestellten Zeiten ignoriert. Es werden immer beide Zonen aktiviert.
Schau ich mir an und melde mich.
@crunchip sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Nur so mal in den Raum geworfen, bei intensiver Nutzung, wird diese List doch recht lang und unübersichtlich. Gäbe es da nicht eine Möglichkeit, eine Art Untermenü anzulegen, so alla "Räume" z.b.?
Guter Punkt, gefällt mir auch noch nicht so gut.
Nehme ich auf die Liste.Übrigens, was schon mal geht, aber dir jetzt nicht hilft: Du setzt Punkte, also bei "Geräte-Name" z.B.
Flur EG.Lichter.Wandlicht 1.

Nach dem Speichern legt der Adapter dies als verlinkten Datenpunkt zu den originalen Datenpunkten an:

Da hat man schon mal eine "Ordner-Struktur". Ändert sich (in diesem Beispiel) der shelly.0-Datenpunkt, so ändert sichsmartcontrol.0.targetDevices.Flur EG.Lichter.Wandlicht 1automatisch, und umgekehrt.Hilft dir nur (noch) nicht dann bei der Auswahl der Zielgeräte...
@Mic habe das mal so angewandt und meine vorhandenen Gerätenamen angepasst.
aus GerätenameEsstischwurdeLicht.EsstischSicherheitshalber hatte ich den Adapter zuvor deaktiviert. Nachdem ich alles Umbenannt hatte, löschte ich auch zur Sicherheit den kompletten Stammbaum
smartcontrol.0, damit alles sauber angelegt wird. Nachdem ich den Adapter startete trat jedoch der Fehler aufsmartcontrol.0 2020-07-15 15:13:26.264 error at async SmartControl._asyncOnReady (/opt/iobroker/node_modules/iobroker.smartcontrol/main.js:195:13) smartcontrol.0 2020-07-15 15:13:26.264 error at processTicksAndRejections (internal/process/task_queues.js:97:5) smartcontrol.0 2020-07-15 15:13:26.264 error at Library.updateOptionStatesFromConfig (/opt/iobroker/node_modules/iobroker.smartcontrol/lib/smartcontrol.js:324:40) smartcontrol.0 2020-07-15 15:13:26.264 error (8702) [updateOptionStatesFromConfig()] – TypeError: Cannot read property 'undefined' of undefined smartcontrol.0 2020-07-15 15:13:26.261 error (8702) Error getting state 'options.TargetDevices.Licht.name' – Unable to get state value of statePath 'smartcontrol.0.options.TargetDevices.Licht.Esstisch.active'Bis ich dann herausfand, das ich das Zielgerät im Adapter löschen und neu anlegen musste.
Nach Neustart de Adapters kam dann die selbe Fehlermeldung fürs nächste Zielgerät.
Also, kurz gesagt, es wirft immer nur 1 Zielgerät den Fehler, behebt man dieses, folgt das nächste.
Was ich aber nicht verstehe, das der Adapter ja vor der Umbenennung der Zielgeräte deaktiviert wurde und sogar der komplette Stammbaum gelöscht wurde.Bekomme aber trotzdem jetzt wieder diese Meldung
smartcontrol.0 2020-07-15 16:13:55.715 error (4082) [updateOptionStatesFromConfig()] – TypeError: Cannot read property 'undefined' of undefined at Library.updateOptionStatesFromConfig (/opt/iobroker/node_modules/iobroker.smartcontrol/lib/sma smartcontrol.0 2020-07-15 16:13:55.712 error (4082) Error getting state 'options.TargetDevices.Licht.name' – Unable to get state value of statePath 'smartcontrol.0.options.TargetDevices.Licht.Bürolicht.active'Edit: nachdem ich die Fehlermeldung nicht richtig deuten konnte, habe ich nun die "Unterteilung" xyz.zxy.xxx entfernt und keine Fehlermeldung mehr, also funktioniert das mit dem . nicht,
desweiteren ein... Wohn/Esszimmer als Bezeichnung,
führt zu einem Esszimmer bei der Geräteauswahl -
Hi All

So, hab grad auf Github 0.1.0-alpha.10 veröffentlicht, und wie es sich für eine runde Nummer gehört, gibt es mehr Features und Verbesserungen, sowie einige Fixes

Alles noch sehr ungetestet von mir, muss selbst noch testen, aber da der Adapter noch in einer Alpha-Version ist, stelle ich euch dennoch die Änderungen zur Verfügung. Kann und wird wohl noch Fehler geben. Nichtsdestotrotz will ich euch die Änderungen nicht vorenthalten.
Enthält auch einige Fixes, wie etwa der Fehler von @crunchip berichtet - https://forum.iobroker.net/post/462886
Zu den wichtigsten Änderungen/Neuerungen:
1. Neue Toggle-Funktion:

Beschreibung:

Danke an @Cristian für die Erklärung und Vorschlag zur Umsetzung.2. Trigger States dürfen jetzt mehrfach verwendet werden unter "3. AUSLÖSER"
Ich musste einiges im Code ändern, damit ein State mehr als einmal als Trigger verwendet werden kann, bislang wurden dann weitere Zeilen ignoriert. Ist nun behoben.3. Einbindung mehrerer Bewegungsmelder in eine Zone"
Was noch fehlte, ist die Einbindung mehrerer Bewegungsmelder in eine Zone.
Ok, ging bisher natürlich, aber jetzt smarter integriert;- (Mic-M) New feature: If you are using multiple motion sensors for a zone: whenever a motion device triggers, the turn off timer is being stopped and a new timer is set per the latest motion sensor.
Das bedeutet:
Wenn ihr mehrere Bewegungsmelder in einer Zone habt, und- Bewegungsmelder A löst aus um 19:00 (3 Min = Abschaltung 19:03)
- Bewegungsmelder B löst aus um 19:02:30 (3 Min = Abschaltung um 19:05:30)
...dann wird der Timer von Bewegungsmelder A gelöscht und frisch gesetzt (also quasi verlängert) auf 19:05:30. Das ganze Spiel geht so weiter, bis halt kein Bewegungsmelder der Zone mehr auslöst.
Das ist einer der Vorteile, die die Zonen dieses Adapters so bringen...4. Neue Option für Astrozeiten night/nightEnd

5. Zone immer nach x Sekunden ausschalten
In den Zonen gibt es eine neue Option "Aus nach x sec".

Erklärung:

-
@Michael-Sauer sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Wenn noch was fehlt sag bescheid.
Danke für die Rückmeldung. Aufgrund wenig Zeit kam ich noch nicht dazu, dass ich das prüfe, hab auch parallel dazu hunderte Code-Zeilen geändert.
Magst du bitte aktuell neu testen mit der 0.1.0-alpha.10 Version?
Dann kann ich deutlich besser nachvollziehen und mir das anschauen.@siggi85 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Ist es bereits möglich, die Helligkeit einer zu schaltenden Lampe von einem gemessenen LUX Wert abhängig zu machen?
Spezielle Lichtsteuerungen wie diese sind noch nicht im Scope des Adapters. Ich muss irgendwie eingrenzen und erst mal Fokus setzen... Ziel ist erst mal eine stabile Erstversion rauszubringen. Dann folgt alles weitere wie dein Request

@BlackRed sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
bei mir funktioniert das Ganze mit dem normalen Hue Adapter ohne Probleme (Tasmota Birnen über den MQTT Adapter + den Philips Hue Bewegungsmelder)
Wenn ich jedoch den Hue Extended Adapter benutze, geht das Ganze nicht, also die 3 Birnen gehen nicht an.
Woran kann das liegen?
presence Object verändert sich von false zu true sobald Bewegung erkannt wird.
Kennt jemand/gibt es eine andere Lösung zwecks der Reaktionszeit/der Verzögerung? Gleiches Problem beim Node-Red Adapter, beträgt ja bei allen Adaptern mindestens 2 Sekunden...
Nur in der Alexa App/den Routinen reagiert der Bewegungsmelder sofort.Interessant... Da ich so viel im Code für 0.1.0-alpha.10 geändert habe, kannst du bitte damit noch mal testen und dann Log posten? Schaue ich mehr gerne dann an.
@siggi85 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Funktionieren auch mehrere Bedingen? Also bspw:
>=24 <24 & >=18 <18 & >=12 <12 & >=6 <6Etwaige zusätzliche Bedingungen: noch Zukunftsmusik
Ebenso wie komplexe Lichtsteuerungen usw (siehe Erklärung oben)@Alle anderen
Ich hoffe, ich hab jetzt beim beantworten nichts vergessen, falls doch, bitte hier rein schreiben
-
@Michael-Sauer sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Wenn noch was fehlt sag bescheid.
Danke für die Rückmeldung. Aufgrund wenig Zeit kam ich noch nicht dazu, dass ich das prüfe, hab auch parallel dazu hunderte Code-Zeilen geändert.
Magst du bitte aktuell neu testen mit der 0.1.0-alpha.10 Version?
Dann kann ich deutlich besser nachvollziehen und mir das anschauen.@siggi85 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Ist es bereits möglich, die Helligkeit einer zu schaltenden Lampe von einem gemessenen LUX Wert abhängig zu machen?
Spezielle Lichtsteuerungen wie diese sind noch nicht im Scope des Adapters. Ich muss irgendwie eingrenzen und erst mal Fokus setzen... Ziel ist erst mal eine stabile Erstversion rauszubringen. Dann folgt alles weitere wie dein Request

@BlackRed sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
bei mir funktioniert das Ganze mit dem normalen Hue Adapter ohne Probleme (Tasmota Birnen über den MQTT Adapter + den Philips Hue Bewegungsmelder)
Wenn ich jedoch den Hue Extended Adapter benutze, geht das Ganze nicht, also die 3 Birnen gehen nicht an.
Woran kann das liegen?
presence Object verändert sich von false zu true sobald Bewegung erkannt wird.
Kennt jemand/gibt es eine andere Lösung zwecks der Reaktionszeit/der Verzögerung? Gleiches Problem beim Node-Red Adapter, beträgt ja bei allen Adaptern mindestens 2 Sekunden...
Nur in der Alexa App/den Routinen reagiert der Bewegungsmelder sofort.Interessant... Da ich so viel im Code für 0.1.0-alpha.10 geändert habe, kannst du bitte damit noch mal testen und dann Log posten? Schaue ich mehr gerne dann an.
@siggi85 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Funktionieren auch mehrere Bedingen? Also bspw:
>=24 <24 & >=18 <18 & >=12 <12 & >=6 <6Etwaige zusätzliche Bedingungen: noch Zukunftsmusik
Ebenso wie komplexe Lichtsteuerungen usw (siehe Erklärung oben)@Alle anderen
Ich hoffe, ich hab jetzt beim beantworten nichts vergessen, falls doch, bitte hier rein schreiben
@Mic
Wie sieht das denn mit einem Button als Zielgerät aus.
Z.B. bei einem Broadlink.
Irgendwie stehe ich hier auf dem Schlauch.
Geht das schon? -

Aktuelle Test Version 0.1.0-alpha.8 34567Veröffentlichungsdatum 12. Juli 2020 Github Link https://github.com/Mic-M/ioBroker.smartcontrol Über diesen Adapter
Mein ursprünglicher Plan war/ist, das Bewegungsmelder-Script durch einen Adapter abzulösen. In meiner Umfrage war das auch Wunsch Nummer 1 als nächster Adapter.
Daraus ist nun der "Smart Control"-Adapter entstanden, der aber deutlich mehr kann als nur Bewegungsmelder, und es wird noch deutlich mehr folgen

Alles dreht sich bei dem Adapter um Auslöser (z.B. Wandschalter wird geschaltet, Bewegungsmelder aktiviert, Fenster wird geöffnet, 8:30 Uhr Freitags tritt ein, Sonnenaufgang + 30 Minuten am Wochenende tritt ein, etc.), worauf dann Datenpunkte geschaltet werden, wenn weitere Bedingungen zutreffen (z.B. "mindestens eine Person anwesend"). Ausgeschaltet wird dann optional auch wieder automatisch z.B. mittels Timer (also wenn Bewegungsmelder verwendet: keine Bewegung mehr und nach angegebenen Sekunden).
Die ganze Logik legt ihr in den Adapter-Einstellungen an und verknüpft diese dort entsprechend.
Hier kurz erklärt (Screenshot von den Adapter-Einstellungen);

Ein paar Beispiel-Anwendungen (Use Cases):
- Bad wird am Montag um 7:00 betreten (falls nicht Feiertag), dann geht das Licht an und das Radio schaltet sich an. Falls nach 15 Minuten keine Bewegung mehr, wird ausgeschaltet.
- Flurlicht-Steuerung mit Bewegungsmeldern, Lichtschaltern, etc.
- Küchenlicht schaltet sich bei Bewegung ein, wenn Helligkeit kleiner x Lux und andere Kriterien (z.B. jemand anwesend, Uhrzeit/Astro, etc.) zutreffen.
- Relax-Bereich: Licht geht an und Alexa spielt Musik, sobald sich jemand auf den Sessel in der "Leseecke" sitzt und es nach Sonnenuntergang minus 30 Minuten ist. Sobald keiner mehr sitzt (z.B. erkannt über Xiaomi-Tür/Fenster-Sensor), wird wieder ausgeschaltet.
Der Adapter legt mehrere Datenpunkte an:
smartcontrol.0.Test– rein zum testen, haben keinerlei sonstige Auswirkungen. Details siehe "Für Tester" in der Adapter-Startseite (Admin):

smartcontrol.0.info.astroTimes: Hier werden eure aktuellen Astrozeiten angezeigt. Der Adapter aktualisiert diese Datenpunkte für euch jede Nacht um 0.00 Uhr.

Zeitstempel (timeStamps) gibt es auch, falls ihr die Astrozeiten zur JavaScript/Blockly-Entwicklung nutzen wollt.
Der Adapter selbst nutzt diese Datenpunkte nicht aktiv, sondern kalkuliert selbst, dient also nur für euch zur Info und soll ein ggf. bislang genutztes Script hierfür ersetzen. Weil ich ja eh schon die Infos im Adapter habe (über suncalc), stelle ich sie euch hier gleich zur Verfügung
Ihr könnt damit außerdem die aktuellen Astrozeiten sehen für eure Einstellungen, ist ja dann doch "verwirrend", wann z.B. "nauticalDusk" jetzt genau ist aktuell...smartcontrol.0.targetDevices: Hier erscheinen alle "ZIELGERÄTE" als Datenpunkte. Für jede Tabellenzeile unter "1. ZIELGERÄTE" fügt dieser Adapter verknüpfte Datenpunkte zusmartcontrol.x.targetDevices.xxxhinzu. Wenn du diese Datenpunkte änderst, wird der ursprüngliche Ziel-Datenpunkt entsprechend geändert, und umgekehrt, d.h. die Datenpunkte sind verlinkt.

Das ist sozusagen eine kleine "Alias / Linked Devices"-Implementierung. Du kannst also Geräte im SmartControl-Adapter unter "ZIELGERÄTE" anlegen und dann nur noch die Datenpunkte unterhalb vonsmartcontrol.0.targetDeviceszum ein- und ausschalten in deinen anderen Scripts verwenden. Wie du halt magst...smartcontrol.0.options: Hier kannst du Tabellenzeilen der Adapter-Konfig aktivieren und deaktivieren. Bitte beachte, dass eine Änderung einen Neustart der Adapter-Instanz auslöst, weil nur damit die geänderten Zeitpläne, Verifzierungen usw. greifen.
Ursprünglicher Thread auch mit allen Erklärungen usw.
Hier: Planung neuer Adapter: Smart Control
Testen
Der Adapter kann nun endlich getestet werden, Feuer frei

Bitte beachten
Mehrere Abschnitte in den Adapter-Einstellungen sind noch nicht in Deutsch übersetzt.- ioBroker-Admin-Issue #590 - Auswahlfelder müssen "an der Seite" angeklickt werden. Ist bereits behoben im ioBroker Admin Adapter, aber ist derzeit noch präsent.
Bisherige Erweiterungs-Anfragen
Zum Testen
Weitere Infos zum Testen findet ihr im Adapter selbst:

Du brauchst Hilfe? Es gibt ein Problem? Du hast einen Verbesserungsvorschlag?
Am besten postest du erst mal hier (auch wenn in den Adapter-Optionen schon mal anders beschrieben für zukünftige Versionen), weil der Adapter noch so früh in der Entwicklung ist.
Ich sammle hier alle Erweiterungswünsche: Github - Erweiterungswünsche, die ich später noch besser strukturiere und priorisiere, usw.
Meine Entwicklungs-Approaches
- Durchgängig Promises mittels async/await, also so wie modern vorgesehen

- Durchgängig try/catch als Errorhandling, aber vor dem "catch" schon vieles abfangen
- Kapseln in eigene Funktionen wenn immer möglich/sinnvoll
- Alles gut dokumentiert im Quellcode
- User-Eingaben immer verifizieren und mit aussagekräftigem Log ausgeben falls was nicht passt. Habe keine Lust auf Fehlersuche, wenn ich nicht genau weiß, wie ich anfangen soll. Grad bei fremden Datenpunkten usw. ein großes Thema...
To Do's beim Adapter-Code:
- Restrukturierung, der Adapter-Code ist ziemlich gewachsen, muss da mal prinzipiell noch mal ran. Ggf. auch isolierte Sachen in eigene Klassen und sogar eigene Files packen, usw.
- Noch nicht umgesetzte 'this.log.error' in throw() umwandeln und dort dann
this.dumpError()sowie entsprechenden return. - Wiederholende Logiken noch besser in Funktionen kapseln.
- Noch bessere Trennung: Adapter-spezifisch, vs. Adapter-unabhängig, vs. node.js.-generisch
- Konsistentere Logausgaben debug vs. info vs. extendedInfo
- ggf. eigene Klasse für User-Input der Admin-Optionen zur Validierung, möglichst generisch und verwendbar dann auch für andere Adapter
- ...
Ich finde das Hilfssystem einfach Genial.

-
@Mic
Wie sieht das denn mit einem Button als Zielgerät aus.
Z.B. bei einem Broadlink.
Irgendwie stehe ich hier auf dem Schlauch.
Geht das schon?@Yetiberg ist doch auch nichts andres wie ein true/false
-
@Mic
Wie sieht das denn mit einem Button als Zielgerät aus.
Z.B. bei einem Broadlink.
Irgendwie stehe ich hier auf dem Schlauch.
Geht das schon?@Yetiberg sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
@Mic
Wie sieht das denn mit einem Button als Zielgerät aus.
Z.B. bei einem Broadlink.
Irgendwie stehe ich hier auf dem Schlauch.
Geht das schon?Wahrscheinlich noch nicht

Dein Use Case also: Datenpunkt gibt den Zustand des Endgerätes nicht wider, und schaltet einfach nur bei Aktivierung des Datenpunktes, also setzen auftrue, oder?
Aus Entwickler-Sicht nicht nice, wenn man den Zustand nicht kennt, aber verstehe den Use Case gut, habe ich auch (Philips TV)
Muss ich noch einbauen, geht so noch nicht, weil der Adapter immer bislang die bestehenden Zustände prüft, damit nicht blind Stateänderungen raus geballert werden, aber das muss dann wohl so sein bei Buttons als Zielgeräte. -
@sigi234 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Ich finde das Hilfssystem einfach Genial.

Freut mich, danke
Du meinst die Aufklapp-Überschriten zu jeder Option im Adapter, also wo man direkt die Hilfe hat, ohne unnötig in einer Github README zu suchen? Denn das war so mein Ziel damit, cool wenn es gut ankommt 
-
@crunchip sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
@Yetiberg ist doch auch nichts andres wie ein true/false
Hatte grad parallel geantwortet, siehe meine Antwort, glaube daher dass das ein valider Request ist, weil ja "Button"-Datenpunkte nicht wirklich den Zustand (an/aus) kennen sondern z.B. nur einen http-Request absetzen.
-
@sigi234 sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Ich finde das Hilfssystem einfach Genial.

Freut mich, danke
Du meinst die Aufklapp-Überschriten zu jeder Option im Adapter, also wo man direkt die Hilfe hat, ohne unnötig in einer Github README zu suchen? Denn das war so mein Ziel damit, cool wenn es gut ankommt 
@Mic sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
Freut mich, danke Du meinst die Aufklapp-Überschriten zu jeder Option im Adapter, also wo man direkt die Hilfe hat, ohne unnötig in einer Github README zu suchen?
Ja genau.
-
@Yetiberg sagte in Aufruf: Neuen SmartControl-Adapter 0.1.0-alpha.x testen:
@Mic
Wie sieht das denn mit einem Button als Zielgerät aus.
Z.B. bei einem Broadlink.
Irgendwie stehe ich hier auf dem Schlauch.
Geht das schon?Wahrscheinlich noch nicht

Dein Use Case also: Datenpunkt gibt den Zustand des Endgerätes nicht wider, und schaltet einfach nur bei Aktivierung des Datenpunktes, also setzen auftrue, oder?
Aus Entwickler-Sicht nicht nice, wenn man den Zustand nicht kennt, aber verstehe den Use Case gut, habe ich auch (Philips TV)
Muss ich noch einbauen, geht so noch nicht, weil der Adapter immer bislang die bestehenden Zustände prüft, damit nicht blind Stateänderungen raus geballert werden, aber das muss dann wohl so sein bei Buttons als Zielgeräte.@Mic @Yetiberg hab ich grad mal probiert mit meiner Esszimmerlampe, die wird vom Broadlink geschaltet
29079) Trigger 'BWM Wohn-Esszimmer' activated for 'Esszimmer'. However, devices 'Esstisch,Esszimmer Deckenlampe' not turned on as these are already on. Setting timer of 600s to turn off.