NEWS
Test Adapter SmartControl 0.3.x-0.6.x Latest
-
@Mike-Hellracer sagte in Test Adapter SmartControl 0.3.x Latest:
Seit heute im Log
Wie oft kam das bei dir heute, und falls öfters, in welchem Interval?
-
Neue Version 0.5.3
- (Mic-M) New feature: ZONES - target devices: you can now assign a delay in seconds to wait until the device is being switched on
- (Mic-M) Various fixes
Damit Erweiterungs-Idee umgesetzt:
In den Zonen kann man nun in der Zielgeräte-Auswahl eine Verzögerung in Sekunden einstellen, erst nach dieser Anzahl Sekunden wird geschaltet.
Weitere Erklärungen hierzu wie immer in den Adapter-Optionen.
Hier ein Auszug:
Durch Doppelklick oder F2 kannst du hier individuelle Werte für Zielgeräte setzen.
Beispiele
- {
val:Radio Chillout, delay:20
} - {
delay:30
} - {
val:true
}
Erklärung
- val: Hiermit wird der Wert für 'an' von 1. ZIELGERÄTE überschrieben.
- delay: Verzögertes einschalten in Sekunden. Hiermit wird das Zielgerät bei Aktivierung der Zone verzögert eingeschaltet.
Beispiel-Anwendungsfall (Use Case): Schalte den Strom-Zwischenstecker sofort ein, warte 30 Sekunden und schalte dann den Fernseher ein (weil er z.B. vorher noch nicht auf IR-Befehle reagiert) und dimme nach 50 Sekunden das Licht im TV-Eck.
Hinweis
Diese Funktion wurde mit Adapter-Version 0.5.3 erweitert, in den Vor-Versionen konnte man hier lediglich einen neuen Zielwert setzen mit z.B. {
Radio Chillout
}. Dies unterstützt der Adapter weiterhin. Falls du also nur den Zielwert überschreiben willst, kannst du einfach {Radio Chillout
} eingeben, anstatt {val:Radio Chillout
}. Aber wenn du auch ein delay (Verzögertes Einschalten) setzen willst, musst du {val:Radio Chillout, delay:20
} eingeben. Delay alleine, also {delay:20
} geht natürlich auch, dann wir der Zielwert natürlich nicht überschrieben. -
@Mic
Hi,
Danke für die prompte Erledigung.
Werde es. Mit weiteren Testergebnissen danken.
Die Meldung im log erscheint bei jedem öffnende Adapter GUI. -
@Mic sagte in Test Adapter SmartControl 0.3.x Latest:
Siehe oben, sollte mit 0.5.3 behoben sein.
Wunderbar - danke Dir, funktioniert jetzt einwandfrei!
-
@Mike-Hellracer sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
Die Meldung im log erscheint bei jedem öffnende Adapter GUI.
Sehr seltsam. Sichere mal deine Einstellungen, lösche den Adapter, und installiere ihn neu (aktuelle Version über Github URL
https://github.com/Mic-M/ioBroker.smartcontrol
Falls das immer noch kommt, brauche ich bitte:- Versionen von node.js, js-controller, welches OS
- Adapter auf Debug stellen und reproduzieren
- Auszug aus Log-Datei selbst (kein Screenshot), über "Log herunterladen" und dort dann herauskopieren und hier in Code Tags posten
-
Neue Version 0.5.4
- (Mic-M) New feature: TARGET DEVICES - add delay option for delayed switching on of target device.
Hiermit ist nun auch konsequenterweise direkt eine Verzögerung in Sekunden einstellbar für Zielgeräte in "1. ZIELGERÄTE", (und nicht nur über ZONEN > Zielgeräte-Auswahl-Menü)
Erklärung:
-
@Mic
Hi, folgendes Ergebnis:-
Um die Auswahl in den "Zonen" übersichtlich zu halten wollte ich die "Aufzählungen" im selben Raum wie die "Zielgeräte" anzeigen lassen und habe den Präfix "Enum" entfernt.
Dann tritt das Problem mit den leeren Spalten für "Funktion" und "Raum" auf.
Aufzählung funktioniert nur wenn ich den Präfix "Enum" voranstelle.
(könnte man ggf. intern im Code machen um Benutzerfehler vorzubeugen und Platz auf kleinen Bildschirmen zu haben)
Ergänzung: jetzt sind die Zuordnungen wieder leer. -
Fehler im Log
Die Meldungen im Log treten erst auf wenn ich die "alte" Konfiguration lade. Ich habe jetzt mal die Einträge nach "deiner" Namenskonvention erstellt und habe keine Fehler mehr.
(vlt. könntest du im Code benötigte Präfixe für alle Objekte intern abfangen) -
Die Zuordnungen bleiben jetzt auch nach Umbenennung erhalten
-
Alias als Auslöser funktioniert nun
-
-
Seltsam, bei mir geht das alles. Beispiel:
Hier in ZONEN eingetragen:
Bennene ich Enum um:
ändert sich das automatisch in ZONEN:
-
@Mic
hmmm komisch. Ich versuche es noch mal.
Umbenennen von Objekten als solches funktioniert.
Ich habe die Aufzählung zugeordnet und nach dem Schließen und wieder öffnen des Adapter waren die Felder wieder leer. Leider kann ich dir nicht genau sagen was ich vorher geändert habe. Auch die Auswahlliste ist dann leer.
Hast du mal "geschlossen" und wieder geöffnet?
-
@Mike-Hellracer sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
Hast du mal "geschlossen" und wieder geöffnet?
Ja, es geht bei mir.
Du setzt Adapter-Version 0.5.4 ein?
Welchen Webbrowser zur Bedienung der Admin-Oberfläche nimmst du? -
@Mic
Yep ist version ist 0.5.4
Mein Browser ist Chrome
Ich kann mich erinnern das es erst beim 2. Oder 3. Mal aufgetreten ist.
Ich versuche es nachher mal "sauber" zu reproduzieren. Wobei ich sagen muss das die Felder Funktion und Raum der Beispiel Aufzählung bereits beim ersten Öffnen nach der Installation leer sind.
Welchen Browser verwendest du? -
@Mike-Hellracer sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
Welchen Browser verwendest du?
Chrome und Firefox, in beiden geht es wunderbar bei mir.
Lösche auch mal den Browser-Cache.Hast du ggf. einen sehr langsamen Rechner? Könnte auch ein Timing-Problem im JS sein.
-
@Mic
habe einen Raspi 4 mit 4GB
Konnte auch kein Problem mit dem Timing feststellen.
und bei mir fkt es bei beiden Browsern nicht.
folgendes ToDo:- Auslöser erstellen
- Zielgeräte --> Aufzählung erstellen
Adapter schließen und neu starten und Editor öffnen --> alles Ok - Zonen --> Zuweisung mit Aufzählung erstellen
Adapter schließen, nach Neustart Status nur noch gelb
im Log: Config Table 'Targets: Enums'] Field "enumId" is empty.
Editor öffnen --> Zielgeräte --> Aufzählung --> Funktion und Raum wieder weg. - Zonen --> Zuweisung gelöscht
- Aufzählung wieder befüllt
- Neustart Adapter Status gelb
Log: kein neuer Eintrag - Zielgerät --> Aufzählung gelöscht
- Auslöser gelöscht
Neustart Adapter Status grün
So konnte ich es mehrfach reproduzieren
-
@Mic sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
@Schnecke sagte in Test Adapter SmartControl 0.3.x Latest:
@Mic Wow, das ging schnell. Danke dafür. Bzgl „Nie ausschalten wenn“. Ich kann für meinen Fall leider gerade nicht testen (bin nur mobil online). Habe es nur in der Theorie kurz durchgespielt... Die Option das Ausschalten bezogen auf den Timer zu verhindern ist sicher auch nicht verkehrt in manchem Falle. Ich würde aber diese Option bezogen auf die direkten Ausschalt-Trigger benötigen. Kannst du das auch unterhalb „Ausführung“ einbauen?
Ich habe für das genannte Beispiel 6 (andere) Auslöser. Davon 3 für Ziel an und 3 für Ziel aus. Alle 6 sind unter Trigger der einen Zone eingetragen. Das direkte Ausschalten der Zone soll nur dann erfolgen wenn alle 3 Bedingungen erfüllt sind (unabhängig vom Timer der Zone oder des Zielgeräts, der sollte dort trotzdem weiterlaufen).
Ich kann morgen gern ein paar Screenshots der Config posten, wenn das einfacher nachzuvollziehen ist...
Was meinst du dazu?VG
Danke für deine Rückmeldung
Nun, das Adapter-Konzept (und entsprechend im Code umgesetzt) ist mittlerweile so, dass sich alles um die Zonen dreht. Das, was unter "Ausführung" konfiguriert wird, dient dazu, die Zone zu aktivieren anhand der Bedingungen, die dort gesetzt sind.
Etwaige Timer (also "Aus nach x Sekunden" oder von Bewegungsmeldern) sind immer an die Zone gebunden, und nicht an Tabellenzeilen unter "Ausführung", dies auch aus Performance und "Lean"-Gründen.
Teste doch mal, wie du jetzt hiermit zurecht kommst. Kannst dann auch gerne mal Screenshots posten.Hi @Mic, sorry für die späte Antwort.
Nochmals zu "Nie ausschalten wenn":
Wie befürchtet, funktioniert es so nicht, wie ich es gern gehabt hätte.
Ich hoffe, mit Screenshots (Test-States) ist es verständlicher:
Wichtig sind hier die Auslöser, die den Haken bei "Ziel aus" haben.
Das sind genau die, die mit UND abgeprüft werden müssten sobald einer davon "Aus" triggert.Aktuell ist es so:
Beispiel 1:
Schrank 1 auf - Zone (Licht) an --> alles gut
Schrank 2 auf - Zone (Licht) bleibt an --> alles gut
Schrank 1 zu - Zone (Licht) geht aus --> soll an bleiben, da Ausschaltbedingungen nicht erfülltBeispiel 2:
Schrank 1 auf - Zone (Licht) an --> alles gut
Timer der Zone läuft ab - Zone (Licht) bleibt an --> soll aus gehen, da Ausschaltbedingungen nicht erfülltDie Umsetzung unter Zonen für Timer hattest du ja schon gemacht, exakt so bräuchte ich das auch, allerdings nicht bezogen auf die Ausschalt-Timer, sondern auf die Ausschalt-Trigger.
Der Vorschlag, dass unter "Ausführung" ZUSÄTZLICH zu platzieren, war deshalb, damit man es mit der Option "Nie ausschalten wenn" (bezogen auf Ausschalt-Timer) nicht verwechselt.
Vielleicht sollte man das dann auch Ausschaltbedingungen nennen. Ich (!) finde das auch dort besser aufgehoben, wenn man dort schon das Einschalten (Trigger Ein) einstellen kann, warum nicht auch das Ausschalten (Trigger Aus).
Es ginge vielleicht auch eine Option, mit der man den Bezug der aktuellen Umsetzung unter Zonen steuern kann (bezogen nur auf Trigger, bezogen nur auf Timer).Falls das nicht umsetzbar ist, wäre das nicht tragisch - da ich es, wie gesagt, auch über eine zusätzliche invertierte Zone lösen konnte. Da ist nur der Nachteil, dass es unübersichtlich wird später.
PS: Deine neuesten Erweiterungen funktionieren prima! Besten Dank
VG
-
@Mike-Hellracer sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
@Mic
habe einen Raspi 4 mit 4GB
Konnte auch kein Problem mit dem Timing feststellen.
und bei mir fkt es bei beiden Browsern nicht.
folgendes ToDo:- Auslöser erstellen
- Zielgeräte --> Aufzählung erstellen
Adapter schließen und neu starten und Editor öffnen --> alles Ok - Zonen --> Zuweisung mit Aufzählung erstellen
Adapter schließen, nach Neustart Status nur noch gelb
im Log: Config Table 'Targets: Enums'] Field "enumId" is empty.
Editor öffnen --> Zielgeräte --> Aufzählung --> Funktion und Raum wieder weg. - Zonen --> Zuweisung gelöscht
- Aufzählung wieder befüllt
- Neustart Adapter Status gelb
Log: kein neuer Eintrag - Zielgerät --> Aufzählung gelöscht
- Auslöser gelöscht
Neustart Adapter Status grün
So konnte ich es mehrfach reproduzieren
Vielen Dank für deinen Test! Damit konnte ich es reproduzieren
Sollte hoffentlich behoben sein in Version 0.5.5, bitte testen. Ist sehr tricky im Adapter-Optionen-JavaScriptNeue Version 0.5.5
- (Mic-M) Fixed error - reported by Sentry:
Cannot read property 'log' of undefined
in _asyncSetTargetDevices_processZone() - (Mic-M) Fixed issue: Tab TARGET DEVICES > Enumerations: functions and rooms selection were sometimes blank, and chosen item was sometimes deleted after saving and reopening admin options.
- (Mic-M) Future - Early preparation work, not yet visible and not yet activated! - Tab TARGET DEVICES: new table for URLs as targets will be added (see issue)
-
Neue Version 0.5.6
- (Mic-M) Hotfix: loading admin settings for enums
Problem unter 0.5.5 war teilweise: Adapter Einstellungen wurden für enums nicht sauber geladen, und Werte noch nicht verfügbar, hab das jetzt mit Callbacks in der
admin/index_m.js
sichergestellt.Habe daher jetzt einen "Hotfix" nachgeliefert. Während es auf meiner Entwicklungsmaschine (Windows) funktionierte, ging es unter Debian Linux nicht. War ein langer ioBroker-Abend gestern, weil ich nach Update auf 0.5.5 mein Linux-Produktiv-System quasi zerschossen hatte, und erst Backup wieder einspielen und testen angesagt war.
Aber jetzt sollte endlich alles so laufen wie es soll. -
Hi @Schnecke
vielen Dank für deine ausführliche Rückmeldung, damit konnte ich deinen Use Case nun sehr gut verstehen.
Die Umsetzung unter Zonen für Timer hattest du ja schon gemacht, exakt so bräuchte ich das auch, allerdings nicht bezogen auf die Ausschalt-Timer, sondern auf die Ausschalt-Trigger.
Der Vorschlag, dass unter "Ausführung" ZUSÄTZLICH zu platzieren, war deshalb, damit man es mit der Option "Nie ausschalten wenn" (bezogen auf Ausschalt-Timer) nicht verwechselt.
Vielleicht sollte man das dann auch Ausschaltbedingungen nennen. Ich (!) finde das auch dort besser aufgehoben, wenn man dort schon das Einschalten (Trigger Ein) einstellen kann, warum nicht auch das Ausschalten (Trigger Aus).
Es ginge vielleicht auch eine Option, mit der man den Bezug der aktuellen Umsetzung unter Zonen steuern kann (bezogen nur auf Trigger, bezogen nur auf Timer).
Der Menüpunkt "Ausführung" in Zonen ist wohl tatsächlich irreführend, sollte eigentlich lauten "Einschalt-Bedingungen". Diese sollen aber - zumindest vom Konzept her - unabhängig zu Ausschalt-Bedingungen sein. Diese "Ausschaltbedingungen" sind derzeit limitiert auf die Zonen-Spalte "Nie ausschalten wenn" und der dortigen Auswahl einer Bedingung.
Was ich nicht möchte, ist hier eine Abhängigkeit zum Auslöser, der unter "Ausführung" gegeben ist. Schließlich soll es letztendlich egal sein, was die Zone auslöst. Nur beim Ausschalten soll dann geprüft werden, ob wirklich ausgeschaltet werden soll.
So wie ich dich verstehe ist/wäre wohl eine Umsetzung, neben "Ausführung" (Also "Einschaltbedingungen") noch "Ausschaltbedingungen" zu ermöglichen, ebenso mit Tabelle und umfangreicherer Konfiguration.
Jetzt müssen wir nur auch mal sehen, ob sich der Aufwand lohnt, also mehr User das möchten
Wenn du bestätigst, dass das so eine Lösung wäre, mache ich ein Github Issue hierfür auf.Kleine Anmerkung
Beispiel 1:
Schrank 1 auf - Zone (Licht) an --> alles gut
Schrank 2 auf - Zone (Licht) bleibt an --> alles gut
Schrank 1 zu - Zone (Licht) geht aus --> soll an bleiben, da Ausschaltbedingungen nicht erfülltWenn unter "ZONEN" diesen Haken deaktiviert ist, sollte es gehen.
Dann wird nie ausgeschaltet, falls Schrank 1 oder Schrank 2 auf ist. -
Moin @Mic
Danke für deine Rückmeldung. Zu deiner Anmerkung und Vorschlag es mit ODER umzusetzen: Das hatte keinen Erfolg, da sich ja "nie ausschalten wenn" nur auf den Timer bezieht und nicht auf den Trigger. Das Beispiel 1 klappt damit also auch nicht.
Wie dem auch sei... bitte ein Issue dafür anlegen und umsetzen, wenn es dir passt und gewünscht ist. Ich finde es im Übrigen klasse, dass du so schnell und v.a. gut auf die Userwünsche eingehst!
Idee für Ausschaltbedingungen: Du könntest es ja bei der Bezeichnung "Ausführung" lassen und im Admin-View dann zweiteilig machen - oben für's Einschalten und unten drunter für's Ausschalten analog (so wie unter "Auslöser"). Da sparen wir uns eine zusätzliche View und extra Spalte unter "Zonen".Zusatzfrage bzgl. ACK unter "Optionen":
Betrifft das generell alle DP's oder nur die unterhalb javascript.x, 0_userdata.0, Messwerte.0, alias.0? Sprich, fragst du exakt diese Ordner ab?VG
-
@Schnecke sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
Idee für Ausschaltbedingungen: Du könntest es ja bei der Bezeichnung "Ausführung" lassen und im Admin-View dann zweiteilig machen - oben für's Einschalten und unten drunter für's Ausschalten analog (so wie unter "Auslöser"). Da sparen wir uns eine zusätzliche View und extra Spalte unter "Zonen".
Gute Idee, und spart mir zusätzlich etwas Arbeit
@Schnecke sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
Zusatzfrage bzgl. ACK unter "Optionen":
Betrifft das generell alle DP's oder nur die unterhalb javascript.x, 0_userdata.0, Messwerte.0, alias.0? Sprich, fragst du exakt diese Ordner ab?Folgende Datenpunkte werden als "User States" angesehen:
- Alle Datenpunkte, die nicht unterhalb eines "echten" Adapter sind,
- Ausnahmen, die immer User States sind:
javascript.x
alias.x
D.h.
Meine-Eigenen-Datenpunkte.xxx
-> User State: jaBla-Bla-Blub.xxx
-> User State: ja0_userdata.0.567.890
-> User State: jajavascript.1.abc.def
-> User State: jahm-rpc.0.000XXXXXXXX.1.LEVEL
-> User State: neinzigbee.0.XXXXXX.occupancy
-> User State: nein
Hintergrund: https://forum.iobroker.net/post/448606
@Schnecke sagte in Test Adapter SmartControl 0.3.x-0.5.x Latest:
Ich finde es im Übrigen klasse, dass du so schnell und v.a. gut auf die Userwünsche eingehst!
Gerne, und das beruht ja auch auf Gegenseitigkeit Ich brauche ja auch euren Input, erspart mir ja auch viel unnötige Entwicklungszeit, wenn ich im "stillen Kämmerlein" nur so vor mich hin entwickle und an den User Needs vorbei, was ja keinem was bringt
-
Hier nun das neue Issue:
Reiter "Zonen" -> Ausführung: weitere Tabelle für Ausschalt-Bedingungen hinzufügen #34