NEWS
Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)
-
@s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:
@martinschm sagte in Test Adapter iQontrol 1.6.x Vis:
@s-bormann said in Test Adapter iQontrol 1.6.x Vis:
@da_woody sagte in Test Adapter iQontrol 1.6.x Vis:
@dslraser jup, da is es, aber mir ist nicht wirklich klar was da eingetragen werden muss...
mal wieder zu kalt im hirn. hat heut nur 2° und sturm...
Ja, das kann ich verstehen. Das ganze ist wirklich ziemlich kompliziert. Ich musste mich jetzt mehrere Tage in das Thema einarbeiten und habe viele Stunden mit Gehirnverdrehungen gekämpft, bis ich einigermaßen kapiert hatte, was man alles braucht und wie das geht.
Aber wenn man es einmal verstanden hat, ist es gar nicht mehr so kompliziert:
Du brauchst einen Datenpunkt, in dem die Zeit gespeichert wird. Das kann ich vielen verschiedenen Formaten passieren, z.B.
06.04.2021, 18:21
oder2021-04-06T06:21p
oder wie auch immer. Sehr häufig wird in der Informatik eine sogenannte Unix Timestamp verwendet. Das ist einfach eine große Zahl, die die vergangenen Sekunden (oder Millisekunden) seit dem 1.1.1970 angibt.Jetzt muss man iQontrol mitteilen, wie die Zeit kodiert wird, damit es die Zeit auch "lesen" kann. Das geht hier:
Dabei steht
x
für eine Unix-Timestamp. Hier könnte man aber jedes beliebige Zeitformat angeben, z.B. auchMM.DD.YYYY, HH:mm
. Welche Kürzel erlaubt sind, steht hier (im aufklappbaren Teil): https://github.com/sbormann/ioBroker.iqontrol#-date-and-timeAllerdings möchte man als Nutzer, das ganze ja nicht als Unix-Timestamp, sondern als vom Menschen lesbares Format angezeigt bekommen. Und wie es angezeigt wird, kann man dann hier einstellen:
In diesem Beispiel wird also im ioBroker eine Unix-Timestamp (
x
) gespeichert (z.B.1617726604871
), für den Nutzer zeigt es iQontrol jedoch in der Formdddd, DD.MM.YYYY, HH:mm:ss
, also z.B.Dienstag, 06.04.2021, 18:21:15
an.Ist es so verständlicher?
VG
Hi,
ich scheitere grade daran mir die Uptime anzeigen zu lassen. Ich dachte, das wenn ich ein Time Kachel nehme und im Time Feld diesen DP hinterlege sollte es gehen: system.adapter.admin.0.uptime
Leider wird mir gar nichts angezeigt.
Ist aktuell so konfiguriert:
Inhalt des DPs ist ein Unix Timestamp.
Hi,
das ganze ist streng genommen keine Timestamp, sondern eine Period oder Duration in Sekunden. Das ist leider noch nicht implementiert, steht aber auf dem Plan.
LGHi,
das ganze sollte jetzt mit der aktuellen Github-Version laufen. Versuch es noch mal!
Man muss allerdings als Zeitformat Ps (Periods in seconds) und als Anzeigeformat was passendes wählen, z.B.:
Dann kommt das dabei raus:
Da die Adapter-Uptime jedoch schreibgeschützt ist, kann man damit nicht auf den TimePicker zugreifen. Dazu benötigt an einen nicht schreibgeschützten Datenpunkt, z.B. vom myTime-Adapter oder so.
Viel Spaß beim Testen!
-
Hi zusammen,
ich hab bei meinem Staubsauger Xiaomi S50 mehrere Button events. Wenn ich mir in iqontrol einen Button anlege und als State den jeweiligen Datenpunkt angebe (Button Type) dann passiert nichts. Ist das aktuell allgemein ein Bug oder hab ich ein Problem?
Vorher konnte ich den Staubsauger damit starten, finden und diverse Modi lostreten. Aktuell dreht sich nur ein Kreis und dann wars das. Wenn ich allerdings den Button direkt in den Objekten anklicke, funktioniert das wunderbar.
Jemand ne Idee woran das liegen könnte? -
@markus-frankl sagte in Test Adapter iQontrol 1.6.x Vis:
Hi zusammen,
ich hab bei meinem Staubsauger Xiaomi S50 mehrere Button events. Wenn ich mir in iqontrol einen Button anlege und als State den jeweiligen Datenpunkt angebe (Button Type) dann passiert nichts. Ist das aktuell allgemein ein Bug oder hab ich ein Problem?
Vorher konnte ich den Staubsauger damit starten, finden und diverse Modi lostreten. Aktuell dreht sich nur ein Kreis und dann wars das. Wenn ich allerdings den Button direkt in den Objekten anklicke, funktioniert das wunderbar.
Jemand ne Idee woran das liegen könnte?Schick mal ein paar Screenshots von Deiner Konfig. Und ein Log aus dem Browser, was passiert, wenn Du den Button klickst.
-
@s-bormann
Sieht so aus als wandelt der den Befehl in false um.
-
@markus-frankl Trag mal bitte bei SET_VALUE "true" ein und versuche es noch mal.
-
@s-bormann Ab und zu kann es so einfach sein... Dank dir recht herzlich! Klappt wunderbar.
Aber war das schon immer so? War mir ziemlich sicher, dass das bis jetzt immer funktioniert hat!
Aber egal Hauptsache es läuft.
P.S. Auch mal von mir. Danke für diesen wirklich extrem geilen Adapter! -
@s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:
@martinschm sagte in Test Adapter iQontrol 1.6.x Vis:
@s-bormann unter additional controls kann ich dieses Zeitding nicht einsetzen, oder?
Hab mir für den heatingadapter etliche Elemente unter additional controls erstellt. Die Zeit hab ich aktuell noch als Text hinterlegt, geil wäre natürlich wenn ich die dort auch dynamisch steuern könnte.
Bisher sehen die Zeit Felder aber irgendwie noch so aus:
Cool wäre es wenn die Beschriftung dynamisch sein könnte und man ein einfaches Zeitfeld hätte mit dem ich die Uhrzeit einstellen kann.
Hi,
beides steht auf dem Plan
LGHi,
das geht jetzt beides mit der 1.7.0:
1.7.0 (2021-04-13)
- (sbormann) Added combobox as possible option type.
- (sbormann) Added Date and Time as new device for dates, times and periods (durations).
- (sbormann) Added time-format and time-display-format to custom settings of datapoints.
- (sbormann) Added time-picker for every datapoint - including ADDITIONAL_CONTROLS - of role value.time, value.date, value.datetime, level.timer and level.timer.sleep.
- (sbormann) Enhanced blind to better show opening and closing, even if level is 0 or 100.
- (sbormann) Added STOP_SET_VALUE for blinds.
- (sbormann) You can now use variables in device-names, button-captions and headings of ADDITIONAL_CONTROLS.
-
@s-bormann BITTE, für 1.7.x ein neues topic!
-
@s-bormann said in Test Adapter iQontrol 1.7.x Vis:
@s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:
@martinschm sagte in Test Adapter iQontrol 1.6.x Vis:
@s-bormann unter additional controls kann ich dieses Zeitding nicht einsetzen, oder?
Hab mir für den heatingadapter etliche Elemente unter additional controls erstellt. Die Zeit hab ich aktuell noch als Text hinterlegt, geil wäre natürlich wenn ich die dort auch dynamisch steuern könnte.
Bisher sehen die Zeit Felder aber irgendwie noch so aus:
Cool wäre es wenn die Beschriftung dynamisch sein könnte und man ein einfaches Zeitfeld hätte mit dem ich die Uhrzeit einstellen kann.
Hi,
beides steht auf dem Plan
LGHi,
das geht jetzt beides mit der 1.7.0:
1.7.0 (2021-04-13)
- (sbormann) Added combobox as possible option type.
- (sbormann) Added Date and Time as new device for dates, times and periods (durations).
- (sbormann) Added time-format and time-display-format to custom settings of datapoints.
- (sbormann) Added time-picker for every datapoint - including ADDITIONAL_CONTROLS - of role value.time, value.date, value.datetime, level.timer and level.timer.sleep.
- (sbormann) Enhanced blind to better show opening and closing, even if level is 0 or 100.
- (sbormann) Added STOP_SET_VALUE for blinds.
- (sbormann) You can now use variables in device-names, button-captions and headings of ADDITIONAL_CONTROLS.
Mega. Die ganze Zeit Dinger aber auch die Variabel bei Additional Controls
-
@s-bormann
guck mal @Xenon hatte auch gerade das problem mit der fehlermeldung nach speichern... -
@da_woody sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann
guck mal @Xenon hatte auch gerade das problem mit der fehlermeldung nach speichern...@s-bormann lass uns das Thema bei dir behandeln...
du rufst häufig onChange() auf ohne einen Parameter zu übergeben. Warum machst du das? Wir können uns auch aufm Discord unterhalten
-
@xenon sagte in Test Adapter iQontrol 1.7.x Vis:
@da_woody sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann
guck mal @Xenon hatte auch gerade das problem mit der fehlermeldung nach speichern...@s-bormann lass uns das Thema bei dir behandeln...
Gerne, ist bei Dir wirklich OT
du rufst häufig onChange() auf ohne einen Parameter zu übergeben. Warum machst du das? Wir können uns auch aufm Discord unterhalten
Das onChange() wird bei jeder Änderung aufgerufen, die gespeichert werden kann. Damit aktivieren sich dann die Speichern/Speichern und schließen - Knöpfe, was auch soweit funktioniert.
Im template-Adapter wird onChange ebenfalls ohne Parameter aufgerufen. Ich habe es ersatzweise auch mal mit onChange(true) probiert - ohne Änderung.
Der Fehler tritt erst auf, wenn ich der letzten Zeile
callback(obj);
aufgerufen wird und damit das zu speichernde obj an ioBroker übergeben wird.Discord habe ich noch nie benutzt, aber wir könnten auch alternativ hier die Chat-Funktion nutzen, falls das hier im Thread ausarten sollte.
Danke und VG!
-
@xenon Ich dachte eben schon, ich hätte es gelöst. Ich habe sowohl bei der load(), als auch bei der save()-Funktion ein async davor gesetzt. Danach hat es mehfach fehlerfrei funktioniert. Und dann, beim 10. Mal - wieder der gleiche Fehler! Arrrgh.
-
@s-bormann der weg ist das ziel...
wird schon noch! -
@s-bormann das klingt stark nach einem async Problem. Kannst du die stellen denn finden bei denen der Fehler auftritt?
-
@xenon sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann das klingt stark nach einem async Problem. Kannst du die stellen denn finden bei denen der Fehler auftritt?
Es tritt immer nur in der save(callback)-Funktion auf, beim Aufruf von callback(obj), also wenn die Daten an ioBroker zum Speichern übergeben werden. Dann dauert es kurz und dann kommt die Meldung.
-
@s-bormann sagte in Test Adapter iQontrol 1.7.x Vis:
@xenon sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann das klingt stark nach einem async Problem. Kannst du die stellen denn finden bei denen der Fehler auftritt?
Es tritt immer nur in der save(callback)-Funktion auf, beim Aufruf von callback(obj), also wenn die Daten an ioBroker zum Speichern übergeben werden. Dann dauert es kurz und dann kommt die Meldung.
Wenn ich die Tage Zeit habe schau ich mir mal deine save an
-
@xenon sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann sagte in Test Adapter iQontrol 1.7.x Vis:
@xenon sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann das klingt stark nach einem async Problem. Kannst du die stellen denn finden bei denen der Fehler auftritt?
Es tritt immer nur in der save(callback)-Funktion auf, beim Aufruf von callback(obj), also wenn die Daten an ioBroker zum Speichern übergeben werden. Dann dauert es kurz und dann kommt die Meldung.
Wenn ich die Tage Zeit habe schau ich mir mal deine save an
-
@s-bormann Moment mal? Die Meldung kommt auch wenn du auf speichern und klickst?! Dann hast du da was grundsätzlich falsch. Klickst du auf speichern, wird ein Objekt per callback an die native geschickt. Da darf überhaupt nichts mehr kommen mit "sind sie sicher...?"
-
@xenon sagte in Test Adapter iQontrol 1.7.x Vis:
@s-bormann Moment mal? Die Meldung kommt auch wenn du auf speichern und klickst?! Dann hast du da was grundsätzlich falsch. Klickst du auf speichern, wird ein Objekt per callback an die native geschickt. Da darf überhaupt nichts mehr kommen mit "sind sie sicher...?"
Genau, deshalb denke ich, es ist ein ioBroker-Bug.