NEWS
Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)
-
@hc-yami Meines Erachtens stimmt das nicht, wenn ich die Doku anschaue:
https://shelly-api-docs.shelly.cloud/#shelly2-5-roller-index
Über go und roller_pos kannst Du doch auch bestimmte Positionen anfahren.
-
@mickym die werden über MQTT leider nicht angeboten:
Über command.pos kann ich zwar zwischen 0 und 100 die Positionen setzen, aber stoppen kann ich dann nicht.
-
@hc-yami Das ist kein Problem - im MQTT kannst Du die Datenpunkte selbst anlegen und darüber steuern. Das ist der Vorteil gegenüber dem Adapter.
Aber ich sehe es ist jeder Punkt da:
shellies/shellyswitch25-<deviceid>/roller/0/command/pos
accepts a number between 0 and 100, which is the target position in percent
Das hei?t, Du könntest unter pos auch einfach einen Zahlenwert eingeben.
und mit dem oben drüber kannst stoppen:
shellies/shellyswitch25-<deviceid>/roller/0/command
accepts rc (performs roller calibration), open, close and stop
Im Übrigen kannst Du alle über mqtt fehlenden Befehle über HTTP absetzen - so mache ich auch Firmware Updates etc.
-
@mickym hey ja, das ist ja nicht mein Problem.
Die Werte werden ja übernommen. Nur leider sendet iQontrol nicht die richtigen Werte. Hier wird bspw. bei einer normalen Glühbirne true/false gesetzt, MQTT erwartet aber leider ein on/off.Grüße
-
@hc-yami Dann mach einfach ein Alias dazwischen oder lass Deine Logikmaschine übersetzen. So mach ich das.
-
@mickym welcher Alias Adapter wäre das? Leider gibt es dort mehrere.
-
-
@hc-yami Ich hab zwar jetzt einen neuen installiert - aber hat noch einen Bug.
Aber lege einfach manuell einen Datenpunkt unter alias.0
dann definierst Du in dem Punkt den Alias:
{ "_id": "alias.0.schalter.ku_deckenlicht.on", "type": "state", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1597524550270, "common": { "name": "on", "role": "", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false, "alias": { "id": "mqtt.1.shellies.shellyswitch25-xxxxxx.relay.0", "read": "val === 'on' ? true : false" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } }
Ich kann mit diesen Einstellungen den Shelly schalten:
-
@da_woody Wenn der Bugfix drin ist.
https://forum.iobroker.net/topic/41924/alias-manager-adapter/2?_=1617824596970
-
@mickym bugfix wird gerade geschoben! https://forum.iobroker.net/topic/41924/alias-manager-adapter/68?_=1617736638086
-
@mickym said in Test Adapter iQontrol 1.6.x Vis:
"read": "val === 'on' ? true : false"
{ "type": "state", "common": { "name": "shellies/Shelly-Arbeitszimmer-Rollo/command", "role": "variable", "type": "string", "read": true, "write": true, "alias": { "id": "mqtt.0.shellies.Shelly-Arbeitszimmer-Rollo.command", "read": "val === 'on' ? true : false" } }, "_id": "alias.0.Shelly-Arbeitszimmer-Rollo.command", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1617825809575, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {} } ![0_1617825852572_bc4b8eb3-f723-4949-a81a-eeb3b0cb6a21-grafik.png](Uploading 100%)
So verstehe ich das richtig?
Das wäre ja echt mega. Könnt ihr mir noch den Befehl erläutern?`Hätte dann noch viele andere Datenpunkte die ich mit dem Alias Adapter bearbeiten könnte. Zur Zeit mache ich das mit node.red. Also bspw. "clean" zu "säubern" zu ändern da ich es eher mag, dass der Text auf deutsch in iQontrol steht.
-
@hc-yami Nun bei komplexeren Übersetzungen mache ich auch alles mit NodeRed.
Für die Aliase bietet es sich an - es gibt einen read und write Eintrag, wobei es anscheinend auch bei nur read zumindest bei den shellies in beide Richtungen funktioniert.
Diese val zuweisung sind halt kleine ZUweisungen mit einzeiligen Javascript anweisungen.
Die Dokumentation zur Alias Funktion hast Du hier:https://www.iobroker.net/#en/documentation/dev/aliases.md
Die Alias Funktion bietet sich halt auch an, dass man soweit unterstützt die Steuerungsmöglichkeiten der Geräte anzupassen:
Deswegen gibts auch diesen Geräteadapter - aber das ist mir zu unflexibel aber dieser von @s-bormann Alias Adapter ist gut - da er Dir alle Freiheiten lässt die gewünschten Datenpunkte anzulegen.
-
@mickym noch habe ich das nicht so ganz verstanden.
Habe jetzt v.1.0.1 über Github installiert. @s-bormann hat wohl gestern Abend diesen Fehler behoben.Folgende Konstellation zur Zeit:
Ich war nun der Annahme, dass wenn ich bei dem Objekt alias.0.Shelly-Wohnzimmer-Wandlampe.Wandlampe den Wert auf true setze, in dem original MQTT Objekt bei command ein "on" gesetzt wird. Habe ich das falsch verstanden?
{ "type": "state", "common": { "name": "shellies/Shelly-Wohnzimmer-Wandstrahler/relay/0/command", "role": "state", "type": "boolean", "read": true, "write": true, "alias": { "id": "mqtt.0.shellies.Shelly-Wohnzimmer-Wandstrahler.relay.0.command", "read": "val === 'ON' ? true : false" } }, "_id": "alias.0.Shelly-Wohnzimmer-Wandlampe.Wandlampe", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1617797497600, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {} }
-
@hc-yami logischerweise müsstest Du auch noch das write ausfüllen.
Das heißt für Deinen command - Punkt müsstest Du entsprechend in write, die umgekehrte Zuweisung nehmen:
val === true ? 'on' : 'off'
Bei den Shellies ist es aber auch so, dass wenn Du nicht im command - sondern in dem relay.0 - true oder false einträgst übersetzt dass der Shelly selbst. Bei command nicht.
Deshalb brauche ich in meinem Alias nur im read und nicht im write eine Übersetzung.Hier mal ein kleines Video.
-
@mickym oh das hilft mir sehr. Vielen Dank dafür! Jetzt klappt es.
-
@dslraser Hi, habe in der aktuellen Github-Version mal für die Blinds einen STOP_SET_VALUE eingefügt. Außerdem habe ich die Abfragereihenfolge für den DIRECTION-Datenpunkt geändert. Bitte teste doch mal (ich selbst kann es ja nicht richtig ausprobieren), ob es damit jetzt wie gewünscht läuft und gib mir noch mal Rückmeldung, dann gebe ich es als neue Version frei.
LG -
Hat eigentlich schon mal jemand mit der neuen Date & Time rumgespielt? Funktioniert das wie gewünscht? Dann würde ich daraus nämlich auch mal eine Version für das latest-Repository bauen, damit es von einer größeren Nutzerschaft getestet werden kann.
-
@s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:
@dslraser Hi, habe in der aktuellen Github-Version mal für die Blinds einen STOP_SET_VALUE eingefügt. Außerdem habe ich die Abfragereihenfolge für den DIRECTION-Datenpunkt geändert. Bitte teste doch mal (ich selbst kann es ja nicht richtig ausprobieren), ob es damit jetzt wie gewünscht läuft und gib mir noch mal Rückmeldung, dann gebe ich es als neue Version frei.
LGBei mir hat der normale stop Button nun gar keine Funktion mehr. (mit dem hatte ich auch kein Problem, das war glaube ich irgendwer anderes. )
Was müßte man denn für einen Wert dort eintragen ? (STOP_SET_VALUE) Ich habe in den Datenpunkten vom Rollo eigentlich einen stop Button) -
@dslraser sagte in Test Adapter iQontrol 1.6.x Vis:
@s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:
@dslraser Hi, habe in der aktuellen Github-Version mal für die Blinds einen STOP_SET_VALUE eingefügt. Außerdem habe ich die Abfragereihenfolge für den DIRECTION-Datenpunkt geändert. Bitte teste doch mal (ich selbst kann es ja nicht richtig ausprobieren), ob es damit jetzt wie gewünscht läuft und gib mir noch mal Rückmeldung, dann gebe ich es als neue Version frei.
LGBei mir hat der normale stop Button nun gar keine Funktion mehr. (mit dem hatte ich auch kein Problem, das war glaube ich irgendwer anderes. )
Was müßte man denn für einen Wert dort eintragen ? (STOP_SET_VALUE) Ich habe in den Datenpunkten vom Rollo eigentlich einen stop Button)Ah, OK, ich dache, das wärst Du gewesen. Es gab jemanden, der für seine Shellys das Kommando "stop" statt "true" für den Stop-Knopf benötigte.
Kannst Du trotzdem bitte noch mal mit der eben gerade aktualisierten Version testen, ob es für Dich wieder geht?
-
@s-bormann sagte in Test Adapter iQontrol 1.6.x Vis:
mit der eben gerade aktualisierten Version testen, ob es für Dich wieder geht?
Danke Dir, geht wieder. Die Anzeigen passen bei mir auch alle.