NEWS
Test Adapter SmartControl 0.3.x-0.6.x Latest
-
@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.
-
@liv-in-sky sagte in Test Adapter SmartControl 0.3.x Latest:
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 ersparen
könnte man aufzählungen bzw functions mit einbinden als zielgeräte ?Gute Idee
So etwa, oder? Also auch mit möglicher Limitierung auf einen bzw. bestimmte Räume?
Beliebiger Name Enum Id Limitiert auf Räume Wert für 'an' Wert für 'aus' Enum: Lichter Alle enum.functions.beleuchtung true false Enum: Lichter Bad und Flur enum.functions.beleuchtung enum.rooms.flur, enum.rooms.bad, true false -
genial
-
@Mic sagte in Test Adapter SmartControl 0.3.x Latest:
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.
Verdacht hat sich bestätigt, geht nun:
-
@liv-in-sky sagte in Test Adapter SmartControl 0.3.x Latest:
könnte man aufzählungen bzw functions mit einbinden als zielgeräte ?
Adressiert in issue #29