NEWS
[Neuer Adapter] LinkedDevices
-
@Scrounger
Neue Beobachtung: Das hängt offenbar mit der Ansicht im Reiter "Objekte" zusammen. Habe nach Neustart eine weitere Verlinkung erzeugt mit dem Effekt, dass der Wert des Linked-DP in der Objekt-Ansicht falsch reagierte. Nach Wechsel in die Status-Ansicht hat dort der Linked-DP richtig reagiert; anschließend auch in der Objekt-Ansicht.Also: Entwarnung !!
-
@paul53 sagte in [Neuer Adapter] LinkedDevices:
@Scrounger
Neue Beobachtung: Das hängt offenbar mit der Ansicht im Reiter "Objekte" zusammen. Habe nach Neustart eine weitere Verlinkung erzeugt mit dem Effekt, dass der Wert des Linked-DP in der Objekt-Ansicht falsch reagierte. Nach Wechsel in die Status-Ansicht hat dort der Linked-DP richtig reagiert; anschließend auch in der Objekt-Ansicht.Das Verhalten kann ich auch nicht bestätigen, funktioniert bei meiner Dev-Umgebung mit beiden Ansichten korrekt.
Grundsätzlich kann ich nur empfehlen nach Erstellen einer Verlinkung, eine Aktualisierung der Objekte anzustoßen!
-
Hab ein nettes neues Feature entwickelt, allerdings brauche ich für eine elgante Umsetzung Hilfe
-> siehe require auf eigene Skriptdatei und Zugriff auf var -
Version 0.4.0 ist im latest (ab morgen)
- string to boolean converter hinzugefügt
- native daten werden übernommen, sofern verfügbar
- Skript mit Variablen aller verlinkten Objekte erzeugen
- bug fixes
Bitte testen und bei Fehlern immer log mit posten!
-
@Scrounger sagte:
Nicht mehr verlinkte Objekte komfortabel über den Objekt-Id-Selector einem Objekt zuweisen (z.B. bei einem Hardwarewechsel). Die Einstellungen werden dann automatisch für die neue Verlinkung übernommen.
MIt dieser Erweiterung wird ein Hardwareaustausch wirklich einfach.
Ich benutze diesen Adapter zwar nicht produktiv, da ich eindeutige Namen und in JS getIdByName() verwende, aber gerade für Anfänger ist er sehr zu empfehlen. Bei der Verlinkung von Datenpunkten macht man sich automatisch Gedanken über eine sinnvolle ID für die verlinkten Datenpunkte. Das hilft dann auch in Blockly, Vis, History ... -
Hab in der Funktion automatische Skript generierung noch einen Fehler entdeckt und in der Version 0.4.1. gefixt.
Müsste demnächst im latest sein.0.4.1
- (Scrounger) Bug fix: auto generate globale script for Javascript Script Engine with variables for all linked Object
-
@Scrounger
Man kann bei der Umrechnung von Zahlen für Min und Max keine negativen Werte eingeben ! -
@Scrounger
Genialer Adapter, danke dafür. Habe leider noch ein paar kleine Probleme:- Wenn ich true/false in An/Aus bei Schaltern konvertiere, dann schaltet anschließend mein Shelly nicht mehr, nur wenn ich nicht konvertiere, funktioniert das Schalten.
2.Kann man auch die Rolle konvertieren lassen? Habe ein paar Türsensoren, diese werden aber leider als switch angelegt. Wenn ich diese im linked device auf sensor.door umstelle, sehe ich das wie gewünscht im iogo Adapter. Leider wird nach einem Neustart vom Adapter wieder auf switch umgestellt. Habe mal im original device umgestellt und teste ob das ok ist. - Beim Anlegen von devices muss man immer alles neu per Hand eingeben, schöner wäre es wenn man alte Eingaben auch wieder übernehmen könnte.
- Wenn ich true/false in An/Aus bei Schaltern konvertiere, dann schaltet anschließend mein Shelly nicht mehr, nur wenn ich nicht konvertiere, funktioniert das Schalten.
-
@e-s
zu 1.) log? Und am besten die raw daten des objekte und des verlinkten objektes. Edit: Hab es mit meinem Shelly getestet, funktioniert bei mir wie es soll.zu 2.) Bzgl. role bitte ein issue bei github anlegen.
zu 3.) Das hab ich jetzt beim einrichten auf meinem Prodsystem auch festgestellt. Bitte auch ein Issue erstellen
-
@Scrounger
Bin jetzt gleich arbeiten und kann dies erst heute Abend überprüfen. Aber ich schätze, das es am iogo Adapter liegt. Dieser kann zwar das an/aus lesen, schreibt aber beim umschalten dann ein true/false rein. Und damit kommt der linked Device nicht klar. Könnte das sein?Github mache ich dann auch heute Abend.
-
@e-s sagte in:
Dieser kann zwar das an/aus lesen, schreibt aber beim umschalten dann ein true/false rein.
Das ist kein Problem des LinkedDevices-Adapters ! Welchen Typ hat der Datenpunkt (boolean / string) ?
-
@paul53
Keine Ahnung, Ist ein Original dp vom Shelly, nicht bearbeitet. -
@e-s
Also du hast einen DP X (type 'boolean'), den hast du verlinkt und konvertiert in type 'string' - nenen wir Ihn mal linkedX.
Im iogo Adapter hast du dann den DP linkedX hinterlegt - korrekt?Im iogo Adapter müsste der DP linkedX dann als string angelegt werden, damit die Übersetzung klappt.
Grundsätzlich kann ich Dir aber empfehlen z.B. bei Schaltern nur zu Visualisierungseffekte einen 'boolean' in einen 'string' umzuwandeln. -
Werde die Konvertierung raus nehmen, war auch mehr aus Spaß an der Freude zum Testen aktiviert.
Folgende WARN Meldung gag es:[getConvertedValue] value not set as 'true' / 'false' in expert settings of parentObject 'shelly.0.SHSW-25#692D27#1.Relay1.Switch' -> fallback to parentObject default 'false'
der RAW war:
{ "from": "system.adapter.linkeddevices.0", "user": "system.user.admin", "ts": 1565725456095, "common": { "name": "Licht Esszimmer Tisch", "def": "", "type": "string", "role": "switch", "desc": "Created by linkeddevices", "read": true, "write": true, "custom": { "linkeddevices.0": { "enabled": true, "parentId": "shelly.0.SHSW-25#692D27#1.Relay1.Switch", "parentType": "boolean", "isLinked": true, "boolean_to_string_value_false": "aus", "boolean_to_string_value_true": "an" } }, "icon": "linkeddevices_small.png" }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "linkeddevices.0.Licht.Esszimmer_Tisch", "type": "state" }
-
Version 0.5.0 sollte ab morgen im latest sein.
Version 0.5.0
- (Scrounger) custom dialog: suggestion dropdown list added to input fields
- (Scrounger) adapter configuration: button to remove links added
- (Scrounger) expert settings: Converter string (readonly) to duration, date and / or datetime added
- (Scrounger) adapter configuration: layout revised
- (Scrounger) expert settings number: allow negative values for min / max
- (Scrounger) adapter configuration: auto generate globale script - optional create setState funtion for readonly objects
- (Scrounger) adapter configuration: auto generate globale script - now optional recognize also manual created objects
- (Scrounger) bug fixes
Bitte testen
-
Version 0.5.5 sollte ab morgen im latest sein
Version 0.5.5
- (Scrounger) custom dialog: role change for linked object added
- (Scrounger) adapter configuration: auto generate globale script - check if object always linked added
- (SchumyHao, Scrounger) create channel objects for linked Objects
- (Scrounger) adapter configuration: layout revised, progressbar added
- (Scrounger) custom dialog: layout revised
Bitte ausführlichen testen, da ich die Version dann ins stable packen möchte.
-
@Scrounger
Habe einen Fehler gefunden beim erstellen von Links. Probiert mit 0.5.5, im log und unter links selber erscheint garnichts. Nur hinter dem Original State steht aktiv drin. Bin auf 0.5.0 zurück, aber auch da will es nicht gehen.
Habe den Adapter schon mehrfach neu gestartet usw, auch bei debug log kommt nix.
Konnte den Fehler glaube ich eingrenzen, entweder passiert das Problem nur wenn linkdevice schon mit im Namen des zu linkenden Device ist, oder wenn der Name zu lang ist.
Habe einige Verbrauchszähler, diese werden gelinkt und anschließend durch statistics ausgwertet, diese Auswertung wollte ich nun erneut verlinken, also verbrauch letzte 15min/Stunde usw.
Hier das raw vom DP:{ "common": { "type": "number", "role": "value", "name": "15min value", "write": false, "read": true, "unit": "m³" }, "native": { "addr": "linkeddevices.0.Verbrauch.Gesamt.Wasser" }, "type": "state", "from": "system.adapter.statistics.0", "user": "system.user.admin", "ts": 1566158564012, "_id": "statistics.0.temp.sumDelta.linkeddevices.0.Verbrauch.Gesamt.Wasser.15Min", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Vielleicht kannst du es ja nachstellen.
-
@e-s sagte in:
"_id": "statistics.0.temp.sumDelta.linkeddevices.0.Verbrauch.Gesamt.Wasser.15Min",
Der Datenpunkt existiert sicherlich nicht original in der Instanz "statistics.0", sondern ist wohl ein eigener Datenpunkt ? Da Adapter ihre Datenpunkte verwalten - also auch löschen, sollte man so etwas vermeiden !
Weshalb sollen Datenpunkte des Statistics-Adapters verlinked werden ? Enthalten die IDs Seriennummern o.ä. und sind deshalb von der Hardware abhängig ?
-
@paul53
Weil mich nur einige Daten daraus interessieren, ich ordnungsliebend bin und keine VIS oder sonstiges nutzen will. Der DP in Statistics ist furchtbar lang und wenn ich eben nur mal schnell nachschauen möchte, dann ist es unter links in Objekte für mich am schnellsten und einfachsten.Also müsste @foxthefox in statistics den DP anders erstellen lassen?
-
@e-s
Den Datenpunkt "statistics.0.temp.sumDelta.linkeddevices.0.Verbrauch.Gesamt.Wasser.15Min" hat der Statistics-Adapter so erstellt, weil die Quelle für die Berechnungen ein Datenpunkt aus "linkeddevices.0" ist ?