alexa und rollläden

Begonnen von justme1968, 17 November 2019, 21:16:29

Vorheriges Thema - Nächstes Thema

gvzdus

Wie hatten wir gelästert? Amazon ist eine 10 Mann-Klitsche, und Alexa macht der Praktikant. Wahrscheinlich ist es ein neuer Praktikant...

amenomade

Zitat von: justme1968 am 19 Juni 2020, 19:42:36
ich habe eben eine änderung an alexa-fhem eingecheckt. damit sollte für blind folgendes gehen:

alexa, <name> rauf          -> <minStep> weiter hoch
alexa, <name> hoch          -> <minStep> weiter hoch
alexa, <name> runter        -> <minStep> weiter runter
alexa, <name> ganz rauf     -> ganz hoch
alexa, <name> ganz hoch     -> ganz hoch
alexa, <name> ganz runter   -> ganz runter

alexa, öffne <name>         -> ganz hoch
alexa, schließe <name>      -> ganz runter
alexa, <name> öffnen        -> ganz hoch
alexa, <name> schließen     -> ganz runter


Das funktioniert. Allerdings umgekeht, wenn man irgendein "levelInverse" hat
Jetzt muss ich meine Rollläden mit "Alexa, Rollo ganz runter" öffnen, und mit "Alexa, Rollo ganz hoch" schliessen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

justme1968

das thema hatten wir schon ein paar mal.##das und problem ist das die meisten systeme mit 100% = offen arbeiten. wenn deins tatsächlich auf hardware ebene umgekehrt arbeitet (statt nur anders rum angeschlossen) kannst du mit versuchen invert zu setzen oder wie oben geschrieben minValue=100 und maxValue=0 im mapping setzen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

amenomade

#138
Naja... so simpel ist est nicht. ;)
Früher mit clear CurrentPosition=position TargetPosition=position::position,delay=1000
"Alexa, Rollo auf 100%" => ganz zu.
"Alexa, Rollo auf 0%" => ganz auf
Die andere Befehle funktionierten natürlich nicht.

Jetzt mit gleichem homebridgeMapping, gleiches Verhalten, plus die neue Kommandos, aber mit dem oben geschriebenen Problem, so dass "ganz rauf" schliesst, und "ganz runter" öffnet.

Jetzt mit clear CurrentPosition=position TargetPosition=position::position,minValue=100,maxValue=0,delay=1000
"Alexa, Rollo auf 100%" => ganz auf ... also umgekehrt im Vergleich mit früher
"Alexa, Rollo auf 0%" => ganz zu... auch umgekehrt
"Alexa, Rollo auf irgendeinen Wert zwischen 1 und 99%" => passiert nichts
"Alexa, Rollo ganz rauf" => ganz auf
"Alexa, Rollo ganz zu" => ganz zu

Vielleicht sollte ich nur mit "actions" in homebridgeMapping spielen... ich probiere es

EDIT: und ja, "auf hardware ebene umgekehrt arbeitet (statt nur anders rum angeschlossen)". So ist es. Es sind DUOFERN Gurtwickler, die nur an AC 230 V angeschlossen sind. Es gibt ja ein Attribut positionInverse, aber da müsste ich meine ganze Logik / Automatisierung ändern.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

justme1968

positionInverse alleine hilft nicht wenn man prozent angaben und open/close gemeinsam nutzen möchte. das ist genau das alte problem weil invert und levelInverse auf beides gleich wirkt.

du sagst 100% weil du runter fahren möchtest und weisst das 100 bei dir eben zu ist. close wird aber bei siri und alexa immer auf 0% abgebildet. ich bekomme nur den prozent wert zu sehen und weiss nicht ob er von dir und richtig ist oder vom system und invertiert werden muss.  das lässt sich prinzipiell nichts machen.

erst mit den semantics lässt sich das überhaupt beheben. die actions würden helfen, sind aber noch nicht eingecheckt.

vertausch mal die zeilen

3203                                      "rangeValue": mapping.minValue || 0
und
3213                                      "rangeValue": mapping.maxValue || 100

in lib/server.js. die zeilennummern sind bei dir vermutlich etwas anders.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

amenomade

Ok, ich verstehe.
Das Tauschen von den Zeilen in server.js klingt logisch, ändert aber nichts. Muss ich etwas anderes machen, als ein
set alexa stop
Änderungen in server.js
set alexa start
set alexa reload

damit die Änderungen übernommen werden?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

justme1968

neue gerätesuche und 1-2 minuten warten bis amazon die änderungen übernommen hat.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

amenomade

Zitat von: justme1968 am 20 Juni 2020, 19:10:02
neue gerätesuche und 1-2 minuten warten bis amazon die änderungen übernommen hat.
Ich dachte set...reload macht das?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

justme1968

set reload sorgt nur dafür das alexa-fhem von den änderungen etwas mitbekommt. die gerätesuche wird dadurch nicht ausgelöst. amazon löst etwa alle 30-60 minuten automatisch eine gerätesuche aus dann werden die daten natürlich gesendet.

wenn du ein neues gerät mit set add hinzufügst wird das gerät zwar automatisch alexa bekannt gemacht, das geht aber nur für neue geräte.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

amenomade

#144
So... neue Suche gemacht, aber Alexa hat nichts neues gefunden.
Bei "ganz runter" schickt alexa-fhem eigentlich:
{"directive":{"header":{"namespace":"Alexa.RangeController","name":"AdjustRangeValue","payloadVersion":"3","instance":"Blind.Position",...
"payload":{"rangeValueDelta":-100,"rangeValueDeltaDefault":false}}}


ABER: ich habe weiter und anders getestet:
"Alexa Rollo auf"
"name":"SetRangeValue"
"payload":{"rangeValue":0}


"Alexa Rollo zu"
"name":"SetRangeValue"
"payload":{"rangeValue":100}

Das entspricht die Änderungen in semantics. Und gefällt mir ;)

EDIT: Korrektur: der letzte Befehl war natürlich "zu" und nicht "auf"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

juemuc

Wenn es funktioniert, bitte die Lösung posten. Ich möchte auch bei der Logik 0% = auf und 100% = zu bleiben und trotzden "hoch/runter" nutzen  8)

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

justme1968

wie du siehst sendet ganz runter bzw ganz rauf kein öffnen und schließen sondern verwendet rauf/runter mit dem maximal möglichen delta. das ist wieder was anderes :) siehe weiter unten.


ich habe eben eine neue version eingecheckt und veröffentlich.

hier wird invert im homebridge mapping wie folgt ausgewertet:
- open und close wird auf 0 und 100 abgebildet
- die von amazon empfangen % werte für rollläden werden invertiert
- beim senden an fhem werden die werte noch mal invertiert

damit sollten somfy und duofern rollläden ohne homebridgeMapping beim verwenden von % werten und öffnen/schließen automatisch richtig arbeiten.

da die semantics für raise/lower aber scheinbar amazon seitig noch nicht so arbeiten wie sie sollen heisst das aber auch, das hoch/runter bzw. ganz hoch/ganz runter leider erst mal weiter verkehrt rum funktionieren.

das intern zwei bzw. drei mal invertiert wird schaut auf den ersten blick und auch im log erst mal komisch aus. muss aber sein damit alles wenigstens halbwegs rückwärts kompatibel ist.

der schieberegler in der app ändert sein label automatisch in Geschlossenheitsgrad (bessere namen willkommen :) )
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

amenomade

Sorry wenn ich mich nochmal melde, aber ich verstehe nicht ganz.

Wie soll das passieren "hier wird invert im homebridge mapping wie folgt ausgewertet:", wenn man "duofern rollläden ohne homebridgeMapping" nutzen würde?


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

justme1968

entweder setzt du um deinem mapping noch invert=1 oder du löschst dein mapping weil das invert für duofern und somfy automatisch gesetzt wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

amenomade

Aaah, OK, verstanden, danke :)
Und auch wegen rauf/runter verstanden. Da muss man auf den Praktikant bei Amazon warten ;)

Ich teste mal weiter.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus