NEWS
Yahka - Raffstore Position
-
Kann, wenn es überhaupt passt, anhand eines Shellys meine Konfig zeigen.
In Homekit wird auf und zu angezeigt , wenn ich auf das Icon tippe.
Und das Rolltor fährt exakt auf und zu. -
Wenn ich Deine Einstellung richtig verstehe, nimmst du einfach die Sollposition auch als Rückmeldung 0-100 %
Den PositionState mit "hue" Conversion verstehe ich überhaupt nicht. Bringt das was? Funktioniert wahrscheinlich ohne dem genauso, oder?Das Problem bei mir ist jedoch das die Sollposition, die Du ja auch verwendest, nicht gesetzt wird wenn ich einen KNX Schalter an der Wand verwende. Der Schalter an der Wand kennt nur auf/ab ohne Prozent. Heißt Sollposition wird nicht gesetzt. Wenn ich in der Home App am Handy fahre, läuft alles wie gewünscht.
-
Hab die Einstellungen auch hier aus dem Forum.
Manche Konfigs sind Böhmische Dörfer für mich
Mein Beispiel sollte vielleicht nur nen Denkanstoß sein . Wie sich KNX verhält weiß ich leider nicht. -
@maxx8888 Ich nutze node-red zur KNX Einbindung und schreibe den Rückmeldewert in den Sollwert, schicke diese Rückmeldung aber nicht mehr auf den Bus; sonst wäre es eine Endlosschleife.
Sobald ich also einen Taster verwende bekomme ich über die Rückmelde GA die Höhe und diesen Wert schreibe ich dann auch in die Soll Höhe. -
@haselchen Der „PositionState“ kennt nur die Werte 0,1,2 (hoch, runter, Stopp); siehe auch https://stefans-itblog.de/liste-aller-homekit-characteristics/
Deine aktuelle Einstellung macht da nicht viel Sinn
Gibt dazu zig Diskussionen u. a. auf reddit.
Dennoch kann man in homekit weder stoppen noch die Richtung wirklich vorgeben.
Ist alles noch recht „einfach“. -
Ich denke mal , deswegen die Convertation zu hue.
Das wird , schätze ich, die 0,1,2 überflüssig und 0-100 kommt zum Tragen.
Also macht die Einstellung schon Sinn
Es funktioniert jedenfalls vorzüglich so.
Keine Probleme, alles tutti.
Auch das Rolltor Kachelsymbol mit offen und geschlossen als Text. -
@haselchen Hue konvertiert ähnlich wie scaleint, siehe Doku:
This function is specialized version of scaleInt with the parameters iobroker.max=65535 and homekit.max=360.
Also keine 0,1 oder 2.
Du kannst den Wert komplett weglassen und es wird sich nichts ändern. Alternativ kannst du alles andere reinschreiben, wird auch nichts ändern oder bewirken.Current wie auch target position erwarten 0 - 100, wieso hast du beim gleichen DP unterschiedliche Konvertierungen?
Current wird nicht gelesen in der Homeapp, deswegen ja das Problem des TE.
Das Symbol zeigt bei 0 geschlossen und bei 100 geöffnet an; eben das was im target steht. Probier es gerne aus.Ich nutze den position state gar nicht und es funktioniert genauso wie von dir beschrieben.
-
Perfekt, das ist eigentlich genau was ich suche.
Ich dachte wenn ich das Objekt ändere wird das immer auf den Bus zurück geschrieben?! Hatte eben genau die Endlos Schleife im Kopf.
Kann ich auch mit Java Scripft ein Objekt ändern ohne auf den Bus zu schreiben?
Oder meinst du etwa überhaupt ein eigenes Objekt in Userdata was ich immer manuell up2date halten muss? -
Ich habe das auch nur aus dem Forum hier übernommen.
Wie was wo da zusammenhängt, dass hast du ja schon formuliert, ich hab tatsächlich einfach blind
Copy&Paste gemacht.
Da es so funktioniert, werde ich da nicht mehr zwischenfummeln, gehe aber davon aus, dass Dein Vorschlag genauso klappen würde. -
@maxx8888 Du könntest versuchen über den "Ursprung" oder die Quelle zu selektieren.
Also nur wenn die Quelle xyz ist, soll der Wert auf den Bus gesendet werden.
So sieht es bei mir aus:
Wenn der Wert aus iob kommt wird er auf den Bus geschrieben. Wenn er vom Bus zurückgemeldet wird, so wird er nicht erneut auf den Bus geschickt.Wenn du das bei dir beispielhaft mal einrichten willst mit einem Rollo, lass es mich einfach wissen und ich kann dir helfen.
-
So richtig elegant finde ich das alles nicht wirklich.
Wollte verhindern das ich eben zusätzliche Userdata Datenpunkte brauche. Geht aber leider nicht.
Wieder 26 neue DatenpunkteHier ist nun meine Lösung ohne Code Red, dafür mit Script :).
Danke euch :), ihr habt mich auf die richtigen Ideen gebracht!!Yahka Settings:
--
--
//Für Homekit on({id: ["0_userdata.0.Homekit.Raffstore.OG.Büro_Position"], change: "any"}, async function (obj) { if(obj.state.from == "system.adapter.yahka.0") setState("openknx.0.Raffstore.OG.Büro_Position",obj.state); }); on({id: ["openknx.0.Raffstore.OG.Büro_Position"], change: "any"}, async function (obj) { if(obj.state.from == "system.adapter.openknx.0") setState("0_userdata.0.Homekit.Raffstore.OG.Büro_Position",obj.state); }); on({id: ["openknx.0.Raffstore.OG.Büro_Position_Rückmeldung"], change: "any"}, async function (obj) { setState("0_userdata.0.Homekit.Raffstore.OG.Büro_Position",obj.state); });