NEWS
Teste Adapter SmartControl 0.1.x-beta.x
-
Hallo, erst mal danke für den tollen Adapter, das erspart sicher einiges an Scripts!!!
Habe ihn gerade installiert und getestet. Ich habe einfach mal mit einem BWM eine Lampe schalten wollen, dabei habe ich festgestellt dass es mit alias Datenpunkten nicht so zuverlässig funktioniert wie mit den richtigen Datenpunkten. Es wäre auch super, im Reiter Auslöser bei Bewegungsmelder die Grenze variabel zu machen, also das man da einen Datenpunkt angeben kann.
Mfg danny_v1
-
@siggi85 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Ein Sache trotzdem noch.
Der Shelly Adapter setzte zwar den Wert, meckert aber am Datentyp rum. Kann man den zu schreibenden Datentyp an den Zieldatenpunkt anpassen, also bei Bedarf vorher konvertieren?Oh ja, das muss unbedingt geschehen!
Ich hattee diese Verifizierung und Anpassung für alles implementiert, aber jetzt für dieses neue Feature noch nicht.Mit 0.1.2-beta.4 jetzt erweitert:
- (Mic.M) Enhance functionality of validating/correcting config settings (new feature with 0.1.2-beta.3) to also process overwritten target device values. The issue is described here: ioBroker forum post.
- (Mic-M) Improved validation of all adapter config settings (user input)
Hintergrund:
Der Anwender gibt die Zielwerte für Datenpunkte in Textfelder ein. Das muss der Adapter natürlich konvertieren, also z.B. Textwert "true" in Booleantrue
, Nummer "12345" in Typ Nummer, usw.
Ist jetzt auch für diese neue Option eingebaut.Dein Shelly sollte nun mit dem Adapter den Wert als korrekten Datentyp erhalten.
Bitte testen -
Danke übrigens für euer tolles Feedback zur neuen Option, freut mich
So, nun geht's weiter hier:
@ilovegym sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Frage, muss ich den Aqara-Motion-Sensor zweimal anlegen als Auslöser, einmal mit Helligkeitswert für die Geräte, die bei Dunkelheit geschaltet werden sollen, und einmal für die Geräte, die immer bei Bewegung geschaltet werden sollen?
Mir ist das erst jetzt aufgefallen, da ich meist in einem Raum einen Aqara und einen Xiaomi Motion habe, nur in dem Raum, indem nur ein Aqara ist, löst jetzt nix mehr aus, nur noch, wenn es dunkel ist... soll aber auch auslösen, wenn hell und Bewegung...Hmm, also es ist so:
Die kurze Antwort: lege den Bewegungsmelder noch mal an
Die längere Antwort:
Der Auslöser, also hier Bewegungsmelder, löst aus, falls Bewegung. Zudem kann mal halt noch optional einen Helligkeits-Datenpunkt setzen.
Wenn du unterschiedliche Helligkeiten für einen Bewegungsmelder zum auslösen hast, bzw. wie bei dir ein Szenario ohne Helligkeit, dann sieht der Adapter vor, dass du den Bewegungsmelder einfach 2mal anlegst (unterschiedlicher Name halt). Dann sollte der Adapter diesen BWM so betrachten wie 2 verschiedene Hardware-Komponenten. Also dann solltest du das steuern können wie gewünscht.
Bitte testen, freue mich auf dein Feedback
-
Hi @danny_v1 sagte in Teste Adapter SmartControl 0.1.x-beta.x:
Hallo, erst mal danke für den tollen Adapter, das erspart sicher einiges an Scripts!!!
Habe ihn gerade installiert und getestet. Ich habe einfach mal mit einem BWM eine Lampe schalten wollen, dabei habe ich festgestellt dass es mit alias Datenpunkten nicht so zuverlässig funktioniert wie mit den richtigen Datenpunkten. Es wäre auch super, im Reiter Auslöser bei Bewegungsmelder die Grenze variabel zu machen, also das man da einen Datenpunkt angeben kann.
Danke für dein Feedback
dabei habe ich festgestellt dass es mit alias Datenpunkten nicht so zuverlässig funktioniert wie mit den richtigen Datenpunkten.
Hmm, was funktioniert denn da nicht so zuverlässig, setzt du hier einen Adapter ein, und wenn ja welchen?
Es wäre auch super, im Reiter Auslöser bei Bewegungsmelder die Grenze variabel zu machen, also das man da einen Datenpunkt angeben kann.
Beschreibe hier am besten mal deinen Use Case.
-
@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.
-
@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