NEWS
Teste Adapter SmartControl 0.1.x-beta.x
-
@danny_v1 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
@Mic
Also ich habe aqara BWM mit deconz im Einsatz und, ich habe mir mal durch einen echt sinnvollen Tipp alle Geräte als Alias angelegt und Arbeite dann in der Vis oder Skripten eigentlich nur noch mit den Aliassen, das ich dis Sensoren leichter mal austauschen kann.
Wenn ich den BWM als Alias im Reiter Auslöser eintrage funktioniert es nicht (Lampe wird nicht geschalten). Trage ich den Deconz Datenpunkt ein geht es Problemlos.Ich möchte über die Vis den Grenzwert für die Helligkeit festlegen, ebenso die Ausschaltverzögerung oder über Switches auswählen das der BWM nur schaltet, wenn z.B. alle anderen Lampen aus sind.
- Bitte Beispiel eines Alias-Datenpunktes von dir
- Was zeigt das Debug-Log des Adapters?
-
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1596227959047, "common": { "name": "Bewegung", "role": "sensor.motion", "type": "boolean", "read": true, "write": false, "alias": { "id": "deconz.0.Sensors.17.presence" } }, "native": {}, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "alias.0.Wohnzimmer.BWMWohnzimmer.ACTUAL", "type": "state" }
smartcontrol.0 2020-08-12 23:50:17.328 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' change: ack 'true' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-12 23:50:17.327 debug (9566) [isAckPassing()] Adapter instance state (smartcontrol.0) identified -> NOT passing since ack:true (we require ack:false) smartcontrol.0 2020-08-12 23:50:17.326 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.323 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed to 'true' -> 'smartcontrol.0.targetDevices.Schreibtischlampe' set to true. smartcontrol.0 2020-08-12 23:50:17.321 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' change: ack 'true' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-12 23:50:17.321 debug (9566) [isAckPassing()] Adapter instance state (smartcontrol.0) identified -> NOT passing since ack:true (we require ack:false) smartcontrol.0 2020-08-12 23:50:17.320 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.319 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed to 'true' -> 'smartcontrol.0.targetDevices.Schreibtischlampe' set to true. smartcontrol.0 2020-08-12 23:50:17.291 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change --> execute handleStateChangeTargetForeignTargets() smartcontrol.0 2020-08-12 23:50:17.290 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change: ack 'true' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.289 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change --> execute handleStateChangeTargetForeignTargets() smartcontrol.0 2020-08-12 23:50:17.288 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change: ack 'true' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.287 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.286 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.273 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' change: ack 'true' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-12 23:50:17.271 debug (9566) [isAckPassing()] Adapter instance state (smartcontrol.0) identified -> NOT passing since ack:true (we require ack:false) smartcontrol.0 2020-08-12 23:50:17.271 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.270 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed to 'true' -> 'smartcontrol.0.targetDevices.Schreibtischlampe' set to true. smartcontrol.0 2020-08-12 23:50:17.269 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed to 'true' -> 'smartcontrol.0.targetDevices.Schreibtischlampe' set to true. smartcontrol.0 2020-08-12 23:50:17.260 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' change: ack 'true' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-12 23:50:17.259 debug (9566) [isAckPassing()] Adapter instance state (smartcontrol.0) identified -> NOT passing since ack:true (we require ack:false) smartcontrol.0 2020-08-12 23:50:17.258 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.237 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change --> execute handleStateChangeTargetForeignTargets() smartcontrol.0 2020-08-12 23:50:17.236 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change: ack 'true' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.235 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change --> execute handleStateChangeTargetForeignTargets() smartcontrol.0 2020-08-12 23:50:17.235 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change: ack 'true' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.234 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.233 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.218 debug (9566) 'alwaysOff' 180s timer for zone 'Wohnzimmer' initially started. smartcontrol.0 2020-08-12 23:50:17.201 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' change: ack 'true' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-12 23:50:17.199 debug (9566) [isAckPassing()] Adapter instance state (smartcontrol.0) identified -> NOT passing since ack:true (we require ack:false) smartcontrol.0 2020-08-12 23:50:17.199 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.198 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed to 'true' -> 'smartcontrol.0.targetDevices.Schreibtischlampe' set to true. smartcontrol.0 2020-08-12 23:50:17.193 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' change: ack 'true' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-12 23:50:17.192 debug (9566) [isAckPassing()] Adapter instance state (smartcontrol.0) identified -> NOT passing since ack:true (we require ack:false) smartcontrol.0 2020-08-12 23:50:17.189 debug (9566) Subscribed state 'smartcontrol.0.targetDevices.Schreibtischlampe' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:17.184 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed to 'true' -> 'smartcontrol.0.targetDevices.Schreibtischlampe' set to true. smartcontrol.0 2020-08-12 23:50:17.177 debug (9566) Trigger 'Bewegungsmelder Wohnzimmer', Zone 'Wohnzimmer': Setting timer of 180s to turn off. smartcontrol.0 2020-08-12 23:50:17.176 debug (9566) Trigger 'Bewegungsmelder Wohnzimmer' activated Zone 'Wohnzimmer'. Turned on: Schreibtischlampe. smartcontrol.0 2020-08-12 23:50:17.171 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change --> execute handleStateChangeTargetForeignTargets() smartcontrol.0 2020-08-12 23:50:17.168 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change: ack 'false' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.165 debug (9566) State 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change --> execute handleStateChangeTargetForeignTargets() smartcontrol.0 2020-08-12 23:50:17.164 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' change: ack 'false' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.163 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed, new val: [true] (ack: false). smartcontrol.0 2020-08-12 23:50:17.162 debug (9566) Subscribed state 'alias.0.Wohnzimmer.Arbeitszimmer.Schreibtischlampe.ON_SET' changed, new val: [true] (ack: false). smartcontrol.0 2020-08-12 23:50:17.081 debug (9566) Trigger [Bewegungsmelder Wohnzimmer] Brightness of 2 is < threshold of 10, so we continue. smartcontrol.0 2020-08-12 23:50:17.069 debug (9566) [TriggerConfigParam (cP)] : {"triggerName":"Bewegungsmelder Wohnzimmer","triggerStatePath":"alias.0.Wohnzimmer.BWMWohnzimmer.ACTUAL","triggerStateVal":true,"triggerIsMotion":true,"triggerIsTog smartcontrol.0 2020-08-12 23:50:17.068 debug (9566) 1 rows in Zones table for trigger 'Bewegungsmelder Wohnzimmer' found and assigned execution table rows fetched successfully. smartcontrol.0 2020-08-12 23:50:17.068 debug (9566) Execution table row for zone 'Wohnzimmer' is meeting conditions smartcontrol.0 2020-08-12 23:50:17.067 debug (9566) Bewegungsmelder Wohnzimmer: No extra condition(s) in schedule, so we return "true" to continue. smartcontrol.0 2020-08-12 23:50:17.067 debug (9566) Bewegungsmelder Wohnzimmer: No extra condition(s) in schedule, so we return "true" to continue. smartcontrol.0 2020-08-12 23:50:17.066 debug (9566) Current weekday 'wed' *is* matching Execution table row for 'Wohnzimmer'. smartcontrol.0 2020-08-12 23:50:17.065 debug (9566) Current time '23:50' *is* within schedule times (start: '20:37', end: '05:53) of 'Wohnzimmer'. smartcontrol.0 2020-08-12 23:50:17.061 debug (9566) State 'alias.0.Wohnzimmer.BWMWohnzimmer.ACTUAL' change --> execute switchTargetsPrepareAsync() smartcontrol.0 2020-08-12 23:50:17.060 debug (9566) Subscribed state 'alias.0.Wohnzimmer.BWMWohnzimmer.ACTUAL' change: ack 'true' *is* meeting isAckPassing() conditions. smartcontrol.0 2020-08-12 23:50:17.059 debug (9566) Subscribed state 'alias.0.Wohnzimmer.BWMWohnzimmer.ACTUAL' changed, new val: [true] (ack: true). smartcontrol.0 2020-08-12 23:50:16.412 info (9566) Subscribing to all target devices and trigger states. 4 trigger schedules activated...
hmm jetzt hat es komischerweise funktioniert?!?
-
Hallo zusammen,
ich hätte da auch nochmal ein Problem: Ich benutze den Adapter nun schon eine weile in Verbindung mit Deconz und Geräten verschiedener Hersteller. Ich steuere die Lampen aus SmartControl über die Level Datenpunkte, das funktioniert soweit auch recht gut.Allerdings nur bis eine Lampe einmal "manuell" z.B. per App oder Alexa geschaltet wurde. Dann wir der "on" Datenpunkt (true/false) verwendet aber der "level" Datenpunkt bleibt bei 100%. Dadurch denkt SmartControl die Lampe sei noch an und schaltet nicht. Das ganze funktioniert erst wieder wenn ich den level Datenpunkt manuell auf 0% oder einen anderen Wert setze der nicht dem "an" Wert in Smartcontrol entspricht.
Kann es sein das der Adapter den Datenpunkt nur setzt wenn er einen anderen Wert hat?
gruß,
Frank -
hmm jetzt hat es komischerweise funktioniert?!?
Ok, dann geht es also und ich brauche mir das nicht näher anzusehen.
-
@hetti72 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Kann es sein das der Adapter den Datenpunkt nur setzt wenn er einen anderen Wert hat?
Korrekt, das prüft der Adapter. Es gibt bzw. gab hierzu Issue #5.
Ist jetzt implementiert, war auch ein Request von @crunchip und @Yetiberg
Neue Version 0.1.2-beta.5
- (Mic-M) New feature: option in Target Devices table to not verify if device is already on/off. Use case is e.g. for button states which do not reflect the actual status of the device in the state (like Broadlink, etc.).
Gibt jetzt neue Option "Keine Prüfung":
Erklärung:
-
@Mic Naja mal geht es mal nicht, kann aber nicht sagen wann es nicht geht, also ist kein richtiges Muster erkennbar.
Ist das mit den variablen Grenzen und Ausschaltzeiten irgendwie realisierbar?
-
@danny_v1 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
@Mic Naja mal geht es mal nicht, kann aber nicht sagen wann es nicht geht, also ist kein richtiges Muster erkennbar.
@Mic Ich weis es hilft nicht viel weiter, aber bei mir ist es aktuell ähnlich. Komme aktuell aber nicht wirklich zum testen. Ich melde mich sobald ich etwas mehr testen konnte.
-
@siggi85 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
@danny_v1 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
@Mic Naja mal geht es mal nicht, kann aber nicht sagen wann es nicht geht, also ist kein richtiges Muster erkennbar.
@Mic Ich weis es hilft nicht viel weiter, aber bei mir ist es aktuell ähnlich. Komme aktuell aber nicht wirklich zum testen. Ich melde mich sobald ich etwas mehr testen konnte.
Was es für mich als Entwickler auch schwierig macht, da zu helfen.
Was ihr auch machen könnt, das in Testdatenpunkten untersmartcontrol.0.Test
nachzustellen.
Sagt auch Bescheid, falls ihr noch mehr / andere Log-Ausgaben braucht zum Nachvollziehen.
-
@danny_v1 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Ist das mit den variablen Grenzen und Ausschaltzeiten irgendwie realisierbar?
Ist das eine Frage oder ein Feature Request? Was meinst du damit?
-
@looxer01 sagte in Planung neuer Adapter: Smart Control:
Moeglichkeit der Umrechnung des neu abzuspeichernden Wertes aus der Aktion (Damit kann z.B. ein Zähler realisiert werden. Wenn der neue Wert <+> <-> </> <:> enthält dann wird der folgende Zielwert berechnet beispiel. Alter wert = 2 Neuer Wert = <+>1 ergibt 3 im Zielwert. - also ein Zähler
Ich habe hierzu schon vor einigen Tagen Issue #10 aufgemacht für mich.
Frage an dich:
Was ist denn hier ein guter Use Case, damit ich das besser nachvollziehen kann? -
@Mic werde ich am WE testen, hatte die letzten Tage kaum Zeit
-
@crunchip sagte in Teste Adapter SmartControl 0.1.x-beta.x:
@Mic werde ich am WE testen, hatte die letzten Tage kaum Zeit
Bitte vor dem tatsächlichen Testen die aktuelle Version von Github ziehen, ich baue gerade noch Verbesserungen etc. ein aber poste hier jetzt nicht jede Änderung. Alles im Changelog einsehbar.Sind dann auch so Sachen wie Fehlermeldung beim Speichern, falls was nicht korrekt:
-
Frage an den Entwickler...bzw erstmal ein Dankeschön für die Arbeit. Möchte nicht wissen wieviele Stunden da drin stecken
Mein Frage...Pkt5 Ausführung ich möchte den Vorgang 24Std laufen lassen, welche Start bzw Endzeit muss ich hier eintragen?Ulf
-
Hi Ulf,
@noah3112 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Frage an den Entwickler...bzw erstmal ein Dankeschön für die Arbeit. Möchte nicht wissen wieviele Stunden da drin stecken
Das möchte ich auch besser nicht wissen
Danke für dein Feedback.Mein Frage...Pkt5 Ausführung ich möchte den Vorgang 24Std laufen lassen, welche Start bzw Endzeit muss ich hier eintragen?
Einfach das hier, dann läuft es immer:
-
@Mic Danke und fix beim Antworten. Da möcht man noch mehr Adapter von der Sorte
-
@Mic sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Was ist denn hier ein guter Use Case, damit ich das besser nachvollziehen kann?
Hi Mic
alles bei dem man wissen möchte wie oft geschaltet wurde. So kann ein Datenpunkt mit dem Zähler beschrieben werden und bei Tageswechsel zurückgesetzt werden.
Ich zähle beispielsweise wie oft die Poolpumpe läuft. Die springt an, wenn durch Sonneneinstrahlung genügend Energie für die Poolheizung zur Verfügung steht.vG Looxer
-
@Mic
bei mir schalten die Befehle an den Broadlink unter Zielgeräte nicht.
Der Auslöse Datenpunkt scheint aber erkannt zu werden.
Oder habe ich hier einen Denkfehler bei der Konfiguration?
Ich füge Dir mal den Debug bei:smartcontrol.0 2020-08-15 14:54:21.309 debug (241082) Subscribed state 'Geräte.0.Ventilator.Ventilator' change: ack 'false' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-15 14:54:21.309 debug (241082) [isAckPassing()] User state identified -> NOT passing per adapter config 'true' smartcontrol.0 2020-08-15 14:54:21.305 debug (241082) Subscribed state 'Geräte.0.Ventilator.Ventilator' changed, new val: [false] (ack: false). smartcontrol.0 2020-08-15 14:53:49.519 debug (241082) Subscribed state 'Geräte.0.Ventilator.Ventilator' change: ack 'false' is *not* meeting isAckPassing() conditions smartcontrol.0 2020-08-15 14:53:49.518 debug (241082) [isAckPassing()] User state identified -> NOT passing per adapter config 'true' smartcontrol.0 2020-08-15 14:53:49.513 debug (241082) Subscribed state 'Geräte.0.Ventilator.Ventilator' changed, new val: [true] (ack: false).
-
@Yetiberg
Einstellungen sehen soweit gut aus.
Aber in deinem Log steht:- Subscribed state 'Geräte.0.Ventilator.Ventilator' change: ack 'false' is not meeting isAckPassing() conditions
- [isAckPassing()] User state identified -> NOT passing per adapter config 'true'
Dein "Geräte.0" scheint von keinem "echten" Adapter. Gehe mal in den Adapter-Optionen auf "- WEITERE OPTIONEN -> Auslöser-Optionen, dort ist das Verhalten erklärt:
Wie es scheint, ist hier bei dir
Nur ack:true (ignoriere ack:false)
eingestellt. Stelle mal um aufNur ack:false
oderEgal
. -
Hallo zusammen,
ich hätte da nochmal eine Frage zu den einzelnen "schedules" im Tab Ausführung. Für meinen Anwendungsfall möchte ich möchte ich für ein Licht mit verschiedenen Helligkeiten abhängig von der Uhrzeit (Tag/Nacht) einschalten. Dazu noch unterschiedliche Zeiten an Werk- und Feiertagen bzw. Wochenenden. Das sieht dann bei mir so aus:
Ich bin noch nicht sicher ob das so funktioniert, das müsste ich noch ein paar Tage testen.
Jetzt wäre meine Frage ob die Reihenfolge der Einträge einen Einfluss auf der Abarbeitung hat und ob die Verarbeitung nach dem ersten match stoppt oder ob immer alle zeilen abgearbeitet werden?
gruß,
Frank -
An alle
Ich bin übrigens gerade dabei, den Reiter "Ausführung" zu eliminieren und in "Zonen" zu integrieren. So sieht es schon mal aus. Im Adapter-Code selbst muss ich noch umsetzen.
Grund hierfür ist eine intuitivere Bedienung und bessere Übersichtlichkeit@hetti72 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Jetzt wäre meine Frage ob die Reihenfolge der Einträge einen Einfluss auf der Abarbeitung hat und ob die Verarbeitung nach dem ersten match stoppt oder ob immer alle zeilen abgearbeitet werden?
Es wird immer alles abgearbeitet. Auch damit der Anwender mehrere Schedules zu unterschiedlichen und auch überlappenden Zeiten realisieren kann.