NEWS
Test Adapter SmartControl 0.3.x-0.6.x Latest
-
Ich schau mir das gerne an, aber brauche dazu bitte:
- Setze Log-Level des Adapters auf "Debug", dann reproduziere den Fehler und stelle die Logausgabe in Code-Tags hier ein. ioBroker schneidet Log-Zeilen ab, daher gehst du zum kopieren bitte direkt ins Logfile (durch Klicken auf "Download Log").
- Poste hier außerdem deinen Adapter-Optionen-Export: in den Adapter-Optionen oben rechts den blauen Button "Pfeil nach unten" anklicken.
-
@Mic
Use-Case: Ein BWM der bei Bewegung ein Display einschaltet und wenn zusätzlich ein weiterer Auslöser (hier Rollladen <=20%) eintritt soll eine Sockelbeleuchtung angehen.
So habe ich es versucht:
Die Sockelbeleuchtung geht dann aus, das Display geht aber nie aus.
Im Log sieht man das der Timer für Display nicht ausgeschaltet wird:smartcontrol.0 2020-09-23 20:57:42.165 info (22396) Timer 'Motion', trigger 'Kueche.Bewegung', target(s) 'Kueche.Sockelbeleuchtung': - Turned off per 20s timer. smartcontrol.0 2020-09-23 20:57:22.160 info (22396) Motion sensor 'Kueche.Bewegung', zone 'Kueche Sockelbeleuchtung': No more motion, so we set 20s timer. smartcontrol.0 2020-09-23 20:57:22.159 info (22396) Motion sensor 'Kueche.Bewegung', zone 'Kueche Display': No more motion, so we set 20s timer. smartcontrol.0 2020-09-23 20:56:06.298 info (22396) Trigger 'Kueche.Bewegung', Zone 'Kueche Sockelbeleuchtung': Timer of 20s will be set to turn off once no more motion recognized. smartcontrol.0 2020-09-23 20:56:06.298 info (22396) Trigger 'Kueche.Bewegung' activated Zone 'Kueche Sockelbeleuchtung'. Turned on: Kueche.Sockelbeleuchtung. smartcontrol.0 2020-09-23 20:56:06.247 info (22396) Trigger 'Kueche.Bewegung', Zone 'Kueche Display': Timer of 20s will be set to turn off once no more motion recognized. smartcontrol.0 2020-09-23 20:56:06.246 info (22396) Trigger 'Kueche.Bewegung' activated Zone 'Kueche Display'. Turned on: Kueche.Display.
Deaktiviere ich die 2. Zone funktioniert der Ablauf mit dem Display.
Bug oder anders lösen?
-
@FredF sagte in Test Adapter SmartControl 0.3.x GitHub (ab 12.09.20):
Ein BWM der bei Bewegung ein Display einschaltet und wenn zusätzlich ein weiterer Auslöser (hier Rollladen <=20%) eintritt soll eine Sockelbeleuchtung angehen.
Kannst du bitte wenn zusätzlich ein weiterer Auslöser ... eintritt spezifizieren:
- muss das gleichzeitig erfüllt sein bei Auslösung
- oder tritt das irgendwann später ein.
-
Falls ersteres, müssen wohl "2. ZUSÄTZLICHE BEDINGUNGEN" erweitert werden, dass hier - wie bei "Andere Auslöser" auch - Vergleichsoperatoren möglich sind.
Möglicherweise eh sinnvoll?
-
@Mic Hallo,
so hab jetzt das Szenario nochmal nachgestellt:
hier das Log:
2020-09-24 07:45:14.997 - info: smartcontrol.0 (3440) 'zoneOff' 300s timer still running 237s. We stop it and set new to 300s. 2020-09-24 07:45:26.365 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.sensors.00158d00031b4dca.presence' change: ack 'true' - "Real" adapter state (deconz.0.sensors.00158d00031b4dca.presence) requires ack:true 2020-09-24 07:45:26.365 - debug: smartcontrol.0 (3440) State Change: Trigger of tableTriggerMotion or tableTriggerDevices - Subscribed state 'deconz.0.sensors.00158d00031b4dca.presence' changed. 2020-09-24 07:45:26.366 - debug: smartcontrol.0 (3440) === check schedule conditions === 2020-09-24 07:45:26.366 - debug: smartcontrol.0 (3440) 'Wohnzimmer' - Current time '07:45' *is* within schedule times (start: '00:00', end: '24:00). 2020-09-24 07:45:26.366 - debug: smartcontrol.0 (3440) Wohnzimmer - Current weekday 'thu' *is* matching Execution table row. 2020-09-24 07:45:26.366 - debug: smartcontrol.0 (3440) Motion.Wohnzimmer: No extra condition(s) in schedule, so we return "true" to continue. 2020-09-24 07:45:26.366 - debug: smartcontrol.0 (3440) === check schedule conditions === 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) 'Arbeitszimmer_deconz' - Current time '07:45' *is* within schedule times (start: '00:00', end: '24:00). 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) Arbeitszimmer_deconz - Current weekday 'thu' *is* matching Execution table row. 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) Motion.Arbeitszimmer_lux_deconz: No extra condition(s) in schedule, so we return "true" to continue. 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) Motion.Wohnzimmer: No extra condition(s) in schedule, so we return "true" to continue. 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) Motion.Arbeitszimmer_lux_deconz: No extra condition(s) in schedule, so we return "true" to continue. 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) Zone 'Wohnzimmer' - execution table row *is* meeting conditions 2020-09-24 07:45:26.367 - debug: smartcontrol.0 (3440) 1 rows in Zones table for trigger 'Motion.Wohnzimmer' found and assigned execution table rows fetched successfully. 2020-09-24 07:45:26.368 - debug: smartcontrol.0 (3440) Zone 'Arbeitszimmer_deconz' - execution table row *is* meeting conditions 2020-09-24 07:45:26.368 - debug: smartcontrol.0 (3440) 1 rows in Zones table for trigger 'Motion.Arbeitszimmer_lux_deconz' found and assigned execution table rows fetched successfully. 2020-09-24 07:45:26.392 - debug: smartcontrol.0 (3440) Trigger [Motion.Wohnzimmer] Brightness of 0 is < threshold of 100, so we continue. 2020-09-24 07:45:26.393 - debug: smartcontrol.0 (3440) Trigger [Motion.Arbeitszimmer_lux_deconz] Brightness of 67 is < threshold of 400, so we continue. 2020-09-24 07:45:26.415 - info: smartcontrol.0 (3440) Trigger 'Motion.Arbeitszimmer_lux_deconz' activated Zone 'Arbeitszimmer_deconz'. However, devices 'Arbeitszimmer_deconz' not turned on as these are already on. 2020-09-24 07:45:26.416 - info: smartcontrol.0 (3440) Trigger 'Motion.Arbeitszimmer_lux_deconz', Zone 'Arbeitszimmer_deconz': Timer of 300s will be set to turn off once no more motion recognized. 2020-09-24 07:45:26.418 - info: smartcontrol.0 (3440) 'zoneOff' 300s timer for zone 'Arbeitszimmer_deconz' initially started. 2020-09-24 07:45:26.426 - debug: smartcontrol.0 (3440) State Change: IGNORED – state 'deconz.0.groups.4.on' change: ack 'false' - "Real" adapter state (deconz.0.groups.4.on) requires ack:true 2020-09-24 07:45:26.426 - info: smartcontrol.0 (3440) Trigger 'Motion.Wohnzimmer' activated Zone 'Wohnzimmer'. Turned on: Wohnzimmer. 2020-09-24 07:45:26.427 - info: smartcontrol.0 (3440) Trigger 'Motion.Wohnzimmer', Zone 'Wohnzimmer': Timer of 300s will be set to turn off once no more motion recognized. 2020-09-24 07:45:26.429 - info: smartcontrol.0 (3440) 'zoneOff' 60s timer for zone 'Wohnzimmer' initially started. 2020-09-24 07:45:26.434 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.sensors.00158d00031b4dca.presence' change: ack 'true' - "Real" adapter state (deconz.0.sensors.00158d00031b4dca.presence) requires ack:true 2020-09-24 07:45:26.434 - debug: smartcontrol.0 (3440) State Change: Trigger of tableTriggerMotion or tableTriggerDevices - Subscribed state 'deconz.0.sensors.00158d00031b4dca.presence' changed. 2020-09-24 07:45:26.435 - info: smartcontrol.0 (3440) Trigger 'Motion.Wohnzimmer' was already activated 0.07 seconds ago and is ignored. Must be at least 2 seconds. 2020-09-24 07:45:26.435 - info: smartcontrol.0 (3440) Trigger 'Motion.Arbeitszimmer_lux_deconz' was already activated 0.07 seconds ago and is ignored. Must be at least 2 seconds. 2020-09-24 07:45:26.608 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.groups.4.on' change: ack 'true' - "Real" adapter state (deconz.0.groups.4.on) requires ack:true 2020-09-24 07:45:26.608 - debug: smartcontrol.0 (3440) State Change: tableTargetDevices: on/off states - Subscribed state 'deconz.0.groups.4.on' changed. 2020-09-24 07:45:26.613 - debug: smartcontrol.0 (3440) State Change: IGNORED – state 'smartcontrol.0.targetDevices.Wohnzimmer' change: ack 'true' - Adapter Instance State (smartcontrol.0) requires ack:false 2020-09-24 07:45:26.614 - debug: smartcontrol.0 (3440) State 'deconz.0.groups.4.on' changed to 'true' -> 'smartcontrol.0.targetDevices.Wohnzimmer' set to true. 2020-09-24 07:45:26.878 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.groups.4.on' change: ack 'true' - "Real" adapter state (deconz.0.groups.4.on) requires ack:true 2020-09-24 07:45:26.878 - debug: smartcontrol.0 (3440) State Change: tableTargetDevices: on/off states - Subscribed state 'deconz.0.groups.4.on' changed. 2020-09-24 07:45:26.888 - debug: smartcontrol.0 (3440) State Change: IGNORED – state 'smartcontrol.0.targetDevices.Wohnzimmer' change: ack 'true' - Adapter Instance State (smartcontrol.0) requires ack:false 2020-09-24 07:45:26.889 - debug: smartcontrol.0 (3440) State 'deconz.0.groups.4.on' changed to 'true' -> 'smartcontrol.0.targetDevices.Wohnzimmer' set to true. 2020-09-24 07:45:26.924 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.groups.4.on' change: ack 'true' - "Real" adapter state (deconz.0.groups.4.on) requires ack:true 2020-09-24 07:45:26.924 - debug: smartcontrol.0 (3440) State Change: tableTargetDevices: on/off states - Subscribed state 'deconz.0.groups.4.on' changed. 2020-09-24 07:45:26.928 - debug: smartcontrol.0 (3440) State Change: IGNORED – state 'smartcontrol.0.targetDevices.Wohnzimmer' change: ack 'true' - Adapter Instance State (smartcontrol.0) requires ack:false 2020-09-24 07:45:26.970 - debug: smartcontrol.0 (3440) State 'deconz.0.groups.4.on' changed to 'true' -> 'smartcontrol.0.targetDevices.Wohnzimmer' set to true. 2020-09-24 07:45:26.997 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.groups.4.on' change: ack 'true' - "Real" adapter state (deconz.0.groups.4.on) requires ack:true 2020-09-24 07:45:26.998 - debug: smartcontrol.0 (3440) State Change: tableTargetDevices: on/off states - Subscribed state 'deconz.0.groups.4.on' changed. 2020-09-24 07:45:27.011 - debug: smartcontrol.0 (3440) State Change: IGNORED – state 'smartcontrol.0.targetDevices.Wohnzimmer' change: ack 'true' - Adapter Instance State (smartcontrol.0) requires ack:false 2020-09-24 07:45:27.012 - debug: smartcontrol.0 (3440) State 'deconz.0.groups.4.on' changed to 'true' -> 'smartcontrol.0.targetDevices.Wohnzimmer' set to true. 2020-09-24 07:45:27.063 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.groups.4.on' change: ack 'true' - "Real" adapter state (deconz.0.groups.4.on) requires ack:true 2020-09-24 07:45:27.063 - debug: smartcontrol.0 (3440) State Change: tableTargetDevices: on/off states - Subscribed state 'deconz.0.groups.4.on' changed. 2020-09-24 07:45:27.069 - debug: smartcontrol.0 (3440) State 'deconz.0.groups.4.on' changed to 'true' -> 'smartcontrol.0.targetDevices.Wohnzimmer' set to true. 2020-09-24 07:45:27.069 - debug: smartcontrol.0 (3440) State Change: IGNORED – state 'smartcontrol.0.targetDevices.Wohnzimmer' change: ack 'true' - Adapter Instance State (smartcontrol.0) requires ack:false 2020-09-24 07:45:37.098 - debug: smartcontrol.0 (3440) State Change: ACCEPTED – state 'deconz.0.sensors.00158d0002f043f1.presence' change: ack 'true' - "Real" adapter state (deconz.0.sensors.00158d0002f043f1.presence) requires ack:true 2020-09-24 07:45:37.099 - debug: smartcontrol.0 (3440) State Change: Trigger of tableTriggerMotion or tableTriggerDevices - Subscribed state 'deconz.0.sensors.00158d0002f043f1.presence' changed. 2020-09-24 07:45:37.099 - debug: smartcontrol.0 (3440) === check schedule conditions ===
und hier die Config. system.adapter.smartcontrol.0.json
Ach ja und noch eine Verständnissfrage:
ich habe im Arbeitszimmer zwei Bewegungsmelder, weil der eine mich nicht unbedingt erfasst wenn ich am Schreibtisch sitze. Ich dachte das wäre eine ODER Verknüpfung. Jetzt habe ich aber festgestellt, dass es eine UND Verknüpfung ist. Also erst wenn beide eine Bewegung melden geht das Licht an. Ist das richtig so? Falls ja, wie ändere ich das, also das wenn der eine oder der andere der Sensor eine Bewegung meldet, das Licht angeht. -
@Mic So sieht das bisherige Skript aus:
var timeout, timeout2; on({id: "alias.0.EG_Kueche.Sensoren.Bewegungsmelder"/*EG Kueche Bewegung Kuehlschrank*/, change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") && getState("alias.0.EG_Kueche.Rollladen.Position").val <= '20') { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); setState("alias.0.EG_Kueche.Licht.Sockelbeleuchtung"/*EG Kueche Sockelbeleuchtung*/, true); } else if (!(obj.state ? obj.state.val : "")) { timeout = setTimeout(function () { setState("alias.0.EG_Kueche.Licht.Sockelbeleuchtung"/*EG Kueche Sockelbeleuchtung*/, false); }, 240000); } if ((obj.state ? obj.state.val : "")) { (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})(); setState("alias.0.EG_Kueche.Steckdosen.Display"/*EG Kueche Display*/, true); } else { timeout2 = setTimeout(function () { setState("alias.0.EG_Kueche.Steckdosen.Display"/*EG Kueche Display*/, false); }, 240000); } });
-
wäre es viel aufwand, einen datenpunkt bereitzustellen, der eine art log der letzten schaltvorgänge als json angibt.
im setting evtl einzustellen, wieviele logeinträge(schaltvorgänge) vorhanden sein sollen z.b 30 oder 50 und/oder ob überhaupt diese schaltvorgänge geloggt werden sollen
-
@liv-in-sky sagte in Test Adapter SmartControl 0.3.x Latest:
ob überhaupt diese schaltvorgänge geloggt werden sollen
Dem Wunsch schließe ich mich an
-
Könnte mit dem Adapter von einem Taster der true/false liefert short und long press ausgewertet werden?
Vielleicht aber zu speziell, oder?
Blockly:
Javascript: -
@liv-in-sky sagte in Test Adapter SmartControl 0.3.x Latest:
wäre es viel aufwand, einen datenpunkt bereitzustellen, der eine art log der letzten schaltvorgänge als json angibt.
im setting evtl einzustellen, wieviele logeinträge(schaltvorgänge) vorhanden sein sollen z.b 30 oder 50 und/oder ob überhaupt diese schaltvorgänge geloggt werden sollen
@FredF sagte in Test Adapter SmartControl 0.3.x Latest:
@liv-in-sky sagte in Test Adapter SmartControl 0.3.x Latest:
ob überhaupt diese schaltvorgänge geloggt werden sollen
Dem Wunsch schließe ich mich an
Hi zusammen,
klar, lässt sich machen Könnt ihr bitte spezifizieren:
- Welche Schaltvorgänge sollen geloggt werden, also sobald eine Zone auslöst?
- Was soll ins JSON-Log, z.B. (
timestamp:01234567890, msg:"Zone 'Badezimmer' successfully triggered"
--> also: welche Infos (Zeitstempel, etc.) sowie welcher Text
-
-
@Mic sagte in Test Adapter SmartControl 0.3.x Latest:
@FredF sagte in Test Adapter SmartControl 0.3.x GitHub (ab 12.09.20):
Ein BWM der bei Bewegung ein Display einschaltet und wenn zusätzlich ein weiterer Auslöser (hier Rollladen <=20%) eintritt soll eine Sockelbeleuchtung angehen.
Kannst du bitte wenn zusätzlich ein weiterer Auslöser ... eintritt spezifizieren:
- muss das gleichzeitig erfüllt sein bei Auslösung
- oder tritt das irgendwann später ein.
Falls ersteres, müssen wohl "2. ZUSÄTZLICHE BEDINGUNGEN" erweitert werden, dass hier - wie bei "Andere Auslöser" auch - Vergleichsoperatoren möglich sind.
Möglicherweise eh sinnvoll?
@FredF sagte in Test Adapter SmartControl 0.3.x Latest:
@Mic So sieht das bisherige Skript aus:
Ich habe ein Enhancement Request aufgemacht: https://github.com/Mic-M/ioBroker.smartcontrol/issues/28
-
@FredF sagte in Test Adapter SmartControl 0.3.x Latest:
Könnte mit dem Adapter von einem Taster der true/false liefert short und long press ausgewertet werden?
Vielleicht aber zu speziell, oder?
Blockly:
Javascript:Scheint auf den ersten Blick schon sehr speziell zu sein, der Adapter braucht hier eigentlich konkrete Auslöser....
-
Update 0.3.9
- (Mic-M) New feature: Table "Additional Conditions" is now allowing comparators like
> 30
,<= 25
etc. in column 'State value'. See issue #28
Nun kann man unter ZUSÄTZLICHE BEDINGUNGEN auch Vergleichsoperatoren nutzen:
Also: z.B. Helligkeit soll größer als 100 sein (falls Auslöser kein Bewegungsmelder, da wird das ja eh optional geprüft):
- (Mic-M) New feature: Table "Additional Conditions" is now allowing comparators like
-
Hallo, kein Update möglich.
-
@sigi234 sehe ich auch gerade bei mir, selbe Bild
-
@Mic sagte in Test Adapter SmartControl 0.3.x Latest:
klar, lässt sich machen Könnt ihr bitte spezifizieren:
Welche Schaltvorgänge sollen geloggt werden, also sobald eine Zone auslöst?
Was soll ins JSON-Log, z.B. (timestamp:01234567890, msg:"Zone 'Badezimmer' successfully triggered"
--> also: welche Infos (Zeitstempel, etc.) sowie welcher Texthallo @mic
ja genau sowas - könnte man auch noch den auslöser und das zielgerät reinschreiben ?bei der "msg" bin ich mir nicht sicher - braucht man eigentlich nicht - es gibt ja nur triggert oder ausgeführt ?
-
noch eine frage/idee - weiß nicht, ob das schon angefragt wurde - so könnte man doch "quasi2 eine zone für sich definieren - in den zielgeräten
beispiel - bei einem alarm alle lichter einschalten - würde über eine function viel eingabe-arbeit ersparenkönnte man aufzählungen bzw functions mit einbinden als zielgeräte ?
-
Scheint nur ein Darstellungsproblem in der Übersicht, vermutlich weil in der io-package.json die Change Log escapte Hochkomma
\"
enthielt. Hab ich jetzt bereinigt und 0.3.10 veröffentlicht. Dauert aber wohl bis zu 24 Stunden, bis es in der Übersicht erscheint.Gehen sollte es aber trotzdem, wenn man die Spalte verfügbar vergrößert:
-
@Mic Hallo, danke für den Tipp ist mir gar nicht aufgefallen. Hab schon fünf mal drauf geguckt aber es trotzdem nicht gefunden. Ich habe es jetzt auch mal zum Anlass genommen und einfach mal alle Gerät mit nem Alias versehen und dann alle Gruppen neu zu machen in Deconz. Jetzt funktioniert es so wie es soll.