Tips zur Alexa Sprachsteuerung ?

Begonnen von dt2510, 21 Januar 2021, 14:03:33

Vorheriges Thema - Nächstes Thema

dt2510

Ich hab' noch ein bisschen probiert ...

pct xxx wird doch nicht immer in dim 0 übersetzt (hab' mich im Log verheddert :D )

Folgende Befehle funktionieren

"schliesse xxx" (set dim 0)
"setze xxx auf yy%" (z.B. set dim 75) aber nur im Bereich von 0-99, bei 100 passiert nix

Demnach funktioniert auch "öffne xxx" nicht, da daraus "set pct 100" wird.
Ich müsste also im eventMap "nur" noch pct 100 durch dim 99 ersetzen...

mein eventMap sieht aktuell so aus:

{
  usr=>{"^pct(.*)"=>'dim$1'},
  fw=>{"^pct(.*)"=>"pct"}
}

TomLee

ZitatDemnach funktioniert auch "öffne xxx" nicht, da daraus "set pct 100" wird.

Ich meine/hab die Vermutung das geht dann nur mit homebridgeMapping.

Auch da hab ich eine Vermutung, verhaspele mich wsl. aber nur wenn ich das zuvor nicht testen kann und hoffe das sich dazu jemand äußert der weiß was richtig ist.




Springe zum letzten Punkt dem dummy:

Eine von mehreren? Lösungen, ungetestet (bin mir aber sicher die klappt) mit readingsProxy.

Jeder Status (on/off) eines Devices ist eine Routine.


defmod HomeStatus dummy

attr HomeStatus eventMap Home:on Bed:off
attr HomeStatus alexaName bliblablub
attr HomeStatus room Test
attr HomeStatus setList on:noArg off:noArg Away:noArg Holiday:noArg

setstate HomeStatus off
setstate HomeStatus 2021-01-22 13:13:36 state Bed


defmod rp_test readingsProxy HomeStatus:state
attr rp_test alexaName party
attr rp_test event-on-change-reading state
attr rp_test room Test
attr rp_test setFn { return 'Holiday' if( $CMD eq 'on' );;return 'Away' if( $CMD eq 'off' )}
attr rp_test setList on off

setstate rp_test Bed
setstate rp_test 2021-01-22 13:12:38 lastCmd on
setstate rp_test 2021-01-22 13:13:36 state Bed


Intruder1956

hallo,
verstehe ich das richtig, du bekommst das Rollo mit Alexa nicht rauf oder runter ??

Meins, funktioniert ohne große Einstellungen
Ich sage nur "Alexa Arbeit Rollo 100%" dann geht es hoch
oder  "Alexa Arbeit Rollo 0%" dann geht es runter.

Habe den Tread nur kurz überflogen, wenn ich falsch bin, einfach ignorieren

Gruß
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

dt2510

Zitat von: TomLee am 22 Januar 2021, 20:25:58
Ich meine/hab die Vermutung das geht dann nur mit homebridgeMapping.

Ich müsste nur die RegEx Auswertung (usr=>{"^pct(.*)"=>'dim$1'}) so anpassen, dass aus "pct 100" statt "dim 100" ein "dim 99" wird ... allerdings bin ich extrem schlecht in RegEx  ::)

ich muss mir mal ansehen was readingsProxy macht ... am Dummy HomeStatus kann (will) ich nicht viel verändern, da die meisten meiner Perl Routinen damit arbeiten. Ich müsste dann zusätzliche Dummies anlegen.

Zitat von: Intruder1956 am 22 Januar 2021, 21:27:44
hallo,
verstehe ich das richtig, du bekommst das Rollo mit Alexa nicht rauf oder runter ??

Meins, funktioniert ohne große Einstellungen
Ich sage nur "Alexa Arbeit Rollo 100%" dann geht es hoch
oder  "Alexa Arbeit Rollo 0%" dann geht es runter.

Habe den Tread nur kurz überflogen, wenn ich falsch bin, einfach ignorieren

Gruß


Ich ignoriere hier niemanden, du bekommst auch eine Antwort ;)

Nicht alle Rolladenaktoren funktionieren gleich. Ich habe Fibaro (ZWave) Aktoren, die kein "pct" Reading besitzen, sonder nur ein "dim", mit dem "position" gesetzt werden kann. Zudem reagieren die Aktoren nur auf "dim 0" bis "dim 99", weshalb deine Befehle bei mir auch nur mit der eventMap

{
  usr=>{"^pct(.*)"=>'dim$1'},
  fw=>{"^pct(.*)"=>"pct"}
}


funktionieren. Allerdings auch nur 0-99% - demnach auch kein "alexa, rolladen küche hoch" (=> set FGR222_ID33 dim 100)

TomLee

Zitatam Dummy HomeStatus kann (will) ich nicht viel verändern, da die meisten meiner Perl Routinen damit arbeiten. Ich müsste dann zusätzliche Dummies anlegen.

In den Perl-Routinen müsstest nur die Befehle Home/Bed in on/off ändern, das noArg in der setList ist gar nicht nötig, falls das unklar/verwirrend ist.

Der readingsProxy hat keine Auswirkung auf die Perl-Routinen, der ermöglicht nur per Sprache den dummy auf Away/Holiday zu setzen.