Alexa soll erzeugte Watt der Solaranlage abfragen

Begonnen von mrb, 19 März 2024, 11:58:22

Vorheriges Thema - Nächstes Thema

mrb

also über meine alter methode geht es ja nicht da er keine dummys schalten kann  :'(

mrb

für madmax noch:

define NGG_SolaranlageAlexa notify GG_SolaranlageAlexa {\
  my $DimValue = ReadingsNum("GG_SolaranlageAlexa", "dim", 0);; # optional, falls du verschiedene dim-Werte nutzen wolltest / dann noch if usw.\
  my $SolarValue = ReadingsNum("GG_Solarzellen", "apower", 0);;\
\
  fhem("set ECHO_id speak Sollarzellen erzeugen derzeit $SolarValue Watt");;\
\
  fhem("set ECHO_id speak Sollarzellen erzeugen derzeit $SolarValue Watt");;\
\
  fhem("set ECHO_id speak Sollarzellen erzeugen derzeit $SolarValue Watt");;\
\
\
}
attr NGG_SolaranlageAlexa room Garage,Solaranlage
#   DEF        GG_SolaranlageAlexa {
#  my $DimValue = ReadingsNum("GG_SolaranlageAlexa", "dim", 0); # optional, falls du verschiedene dim-Werte nutzen wolltest / dann noch if usw.
#  my $SolarValue = ReadingsNum("GG_Solarzellen", "apower", 0);
#
#  fhem("set ECHO_id speak Sollarzellen erzeugen derzeit $SolarValue Watt");
#
#  fhem("set ECHO_id speak Sollarzellen erzeugen derzeit $SolarValue Watt");
#
#  fhem("set ECHO_id speak Sollarzellen erzeugen derzeit $SolarValue Watt");
#
#
#}
#   FUUID      662ccbaa-f33f-3fd4-015c-ce48f399fc276869
#   NAME       NGG_SolaranlageAlexa
#   NOTIFYDEV  GG_SolaranlageAlexa
#   NR         334
#   NTFY_ORDER 50-NGG_SolaranlageAlexa
#   REGEXP     GG_SolaranlageAlexa
#   STATE      2024-04-27 13:36:55
#   TRIGGERTIME 1714217815.13527
#   TYPE       notify
#   READINGS:
#     2024-04-27 13:17:41   state           active
#     2024-04-27 13:36:55   triggeredByDev  GG_SolaranlageAlexa
#     2024-04-27 13:36:55   triggeredByEvent
#
setstate NGG_SolaranlageAlexa 2024-04-27 13:36:55
setstate NGG_SolaranlageAlexa 2024-04-27 13:17:41 state active
setstate NGG_SolaranlageAlexa 2024-04-27 13:36:55 triggeredByDev GG_SolaranlageAlexa
setstate NGG_SolaranlageAlexa 2024-04-27 13:36:55 triggeredByEvent


MadMax-FHEM

Kannst du evtl. mal schreiben was du meinst/willst, sodass es andere (ich9 auch verstehen (können)? ;)

Sollte es so gemeint sein: du kannst deine Garagentore per Alexa (mit separatem Skill oder was auch immer) steuern aber (noch) nicht mit fhem?

Dann gibt es (mind.) 2 Möglichkeiten:

set ECHO_123 textcommand "öffne das Garagentor" (dabei ist es egal welchen Echo du nimmst, der den du wählst sagt halt dann "ok" / und den Text des Textkommandos ist halt der, den du auch zu einem Echo sprichst)

Oder du legst eine Routine an, an deren Ende dann das Garagentor geöffnet/geschlossen wird und dann: ste ECHO_123 routine_play Routine123 (Routine halt auswählen)

Frage zu deinen "Anstrengungen" wegen alle Echos ansprechen usw.: es ist doch egal welchen Echo du bzgl. einer Routine ansprichst? Es wird am Ende der Routine (egal über welchen ECHO du die "gestartet" hast) der EINE dummy IMMER GLEICH getriggert? Darauf dann ein notify was eben per ReadingsNum den Wert abfragt und dann per set ECHO_123 speak Watt $value (<- nur Beispiel) die Ansage macht. Es gibt ja sogar das voice-Reading: der Echo dessen voice Reading zuletzt aktualisiert wurde könnte/sollte der angesprochene sein oder du prüfst alle voice-Readings aller Echos auf passenden Text (<- Ansage Routine) oder oder oder. Also falls du genau bei dem Echo ausgeben lassen willst, der auch die Rooutine "bearbeitet" hat...

Aber wie geschrieben: so ganz blicke ich bei deiner "konfusen" Schreiberei nicht was du machst/willst oder wo dein(e) Probkem(e) liegt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitatdefine NGG_SolaranlageAlexa notify GG_SolaranlageAlexa

Triggert doch auf alles was den dummy "trifft"?
Gut, wenn du den dummy nur für die eine Abfrage willst: dann wird verm. auch nur ein Event kommen, genau dann, wenn du "abfrägst"...

GG_SolaranlageAlexa <- ist der "Routinen-dummy"?
In dem Fall (siehe oben) würde ein "simpler" on/off dummy auch gereicht haben...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mrb

Zitat von: MadMax-FHEM am 27 April 2024, 13:52:20Kannst du evtl. mal schreiben was du meinst/willst, sodass es andere (ich9 auch verstehen (können)? ;)
Was genau willst du wissen :D

Zitat von: MadMax-FHEM am 27 April 2024, 13:52:20Sollte es so gemeint sein: du kannst deine Garagentore per Alexa (mit separatem Skill oder was auch immer) steuern aber (noch) nicht mit fhem?

Dann gibt es (mind.) 2 Möglichkeiten:

set ECHO_123 textcommand "öffne das Garagentor" (dabei ist es egal welchen Echo du nimmst, der den du wählst sagt halt dann "ok" / und den Text des Textkommandos ist halt der, den du auch zu einem Echo sprichst)

Oder du legst eine Routine an, an deren Ende dann das Garagentor geöffnet/geschlossen wird und dann: ste ECHO_123 routine_play Routine123 (Routine halt auswählen)

Die Garagentore gehen ja ;)


Zitat von: MadMax-FHEM am 27 April 2024, 13:52:20Frage zu deinen "Anstrengungen" wegen alle Echos ansprechen usw.: es ist doch egal welchen Echo du bzgl. einer Routine ansprichst? Es wird am Ende der Routine (egal über welchen ECHO du die "gestartet" hast) der EINE dummy IMMER GLEICH getriggert?
Richtig, aber ich möchte die Ausgabe an alle und in der jetzigen Konstellation geht es immer nur gegen den einen da
fhem("set ECHO_ID speak Sollarzellen erzeugen derzeit $SolarValue Watt");drinnen steht. und nicht der den ich ja angesprochen habe (das wäre ja sicherlich die beste lösung

Zitat von: MadMax-FHEM am 27 April 2024, 13:52:20Darauf dann ein notify was eben per ReadingsNum den Wert abfragt und dann per set ECHO_123 speak Watt $value (<- nur Beispiel) die Ansage macht.
genau. es geht aber nur gegen den einen echo

Zitat von: MadMax-FHEM am 27 April 2024, 13:52:20Es gibt ja sogar das voice-Reading: der Echo dessen voice Reading zuletzt aktualisiert wurde könnte/sollte der angesprochene sein oder du prüfst alle voice-Readings aller Echos auf passenden Text (<- Ansage Routine) oder oder oder. Also falls du genau bei dem Echo ausgeben lassen willst, der auch die Rooutine "bearbeitet" hat...
Cool wie verwende ich das dann in meinem code?




Frage:
Kann ich mit 'set ECHO_123 textcommand "öffne das Garagentor links"' etwa sagen "Alexa öffne das Garagentor links" etwa eine Aktion ausführen? Und falls ja, welche Aktion kann ich da ausführen?

MadMax-FHEM

Zitat von: mrb am 27 April 2024, 14:18:21Frage:
Kann ich mit 'set ECHO_123 textcommand "öffne das Garagentor links"' etwa sagen "Alexa öffne das Garagentor links" etwa eine Aktion ausführen? Und falls ja, welche Aktion kann ich da ausführen?

Wie wäre es die Doku zu lesen?

Also textcommand: statt den Satz einem Echo/Alexa zu sagen (also tatsächlich mit dem Mund ;) ) kannst du das auch "still" tun, indem du dasselbe (was du sagen würdest) einfach per echodevice und textcommand an einen (beliebigen) Echo "schickst" (ist dann so als hättest du das dem Echo tatsächlich "zugerufen")...

Dadurch kannst/könntest du z.B. Dinge/Geräte schalten, die zwar (z.B. externer Skill einer Firma o.ä.) per Alexa schaltbar sind, also per Sprache, nicht aber per fhem...
...weil du kannst ja das "passende" Sprachkommando für das Gerät einfach aus fhem heraus senden ("sprechen")...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat von: mrb am 27 April 2024, 14:18:21Cool wie verwende ich das dann in meinem code?
Entweder notify auf das voice-Reading ALLER Echos (-> notify erzeugen Eventmonitor und dann anpassen / evtl. sowas ECHO_.*:voice.*) und dann eben im notify auf den gesprochenen Text prüfen und wenn der was mit Solar war, dann eben: set $DEVICE speak ...

Dann ist der dummy nur dazu da, damit Alexa/Amazon am Ende der Routine was zu tun hat und nicht "beleidigt" ist... ;)


Oder: in deiner jetzigen Routine eben alle Echos "durchnudeln", dort das voice-Reading abfragen (ReadingsVal) und eben Text prüfen (und zur Sicherheit noch ReadingsAge, nicht dass du schon mal mit dem Echo bzgl. Solar gesprochen hast und das Reading immer noch den Text von "früher" drin hat)...
und dann eben bei dem Echo ausgeben, der bei deiner "Durchnudelei" als passend "gefunden" wurde...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mrb

#22
also habe mir jetzt dank deines Schreibens "set ECHODEVICE speak 1234" eine Ausgabe 1234 meiner Alexa hingebastelt, aber ich möchte ja INPUT der Alexa. Also ich sage wie gesagt "Alexa, wieviel Watt erzeugen die Solarzellen" und er dann auf meine Sprache reagiert. Am besten halt nur die angesprochene Alexa.

Habe als "Doku" das gefundenDoku?, aber da fehlen mir dann doch noch zb die Sachen die du mir jetzt schon alleine mit der Ausgabe gelernt hast

MadMax-FHEM

Zitat von: mrb am 27 April 2024, 14:44:50Habe als "Doku" das gefundenDoku?, aber da fehlen mir dann doch noch zb die Sachen die du mir jetzt schon alleine mit der Ausgabe gelernt hast
Das war bzgl. textcommand...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mrb

#24
also ich steig da nicht durch. mit "set textcommand xxx fhemcommand" macht er auf der realen Aussage "alexa xxx"  ein fhemcommand?

Ein paar Beispiele wären in der Anleitung auch gut, aber das fehlt dar komplett

MadMax-FHEM

Ich fürchte dir fehlt es einfach (zusätzlich) an fhem Wissen...

Was ist so schwer?

notify auf ein Reading, in deinem Fall das voice Reading deiner Echo Devices: Eventmonitor öffnen, etwas zu einem deiner Echos sagen, warten bis das Event dazu kommt (voice Reading) und dann create/modify...

Das dann anpassen an: nicht nur 1 Echodevice, sondern alle -> RegEx

Dann Abfragen des voice-Readings (oder den entsprechenden EVTPART) ReadingsVal($DEVICE, "voice", "n.a.") da dann prüfen, ob das ist was du willst -> Solar-irgendwas.
Wenn ja, dann einfach die Watts auslesen (hast du ja schon) und dann einfach set $DEVICE speak ...

In $DEVICE steht das Device, das das notify getriggert hat...

Beispiele gibt es im echodevice-Thread...

Wenn du willst, dass Alexa/Amazon nicht sagt: das weiß ich nicht oder das wird nicht unterstützt oder du u.U. nicht mal die Routine zuende anlegen kannst brauchst du ja was wo am Ende der Routine was geschalten wird (nur damit eben kein Fehler kommt) -> hast du ja schon: dein dummy...


Die andere Alternative, also in deinen vorhandenen Code einbauen: Liste der Echo-Devices (devspec) und dann in einer for-Schleife durchgehen und prüfen, welcher Echo (zuletzt) was mit Solar im voice Reading hat -> den dann sprechen lassen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#26
Zitat von: mrb am 27 April 2024, 15:34:10also ich steig da nicht durch. mit "set textcommand xxx fhemcommand" macht er auf der realen Aussage "alexa xxx"  ein fhemcommand?

Ein paar Beispiele wären in der Anleitung auch gut, aber das fehlt dar komplett


Ich weiß ja nicht wie simpel ich es noch erklären soll...
Also 1x noch:

Du sagst z.B. zu einem deiner Echos: "Alexa, schalte das Badlicht ein"
Dann geht (verm.) das Badlicht an...

Statt das jetzt zu einem Echo zu sagen, kannst du auch:
set ECHO_xyz textcommand schalte das Badlicht ein
Aus fhem heraus absetzen (welcher Echo ist egal, derjenige antwortet dann halt [verm.] mit "ok") und dann geht ebenfalls das Badlicht an, so als hättest du es tatsächlich zu einem (diesem) Echo gesagt...

(Somit kann man eben Dinge tun/Geräte schalten, die zwar mit Alexa gehen aber eben nicht direkt mit fhem)

EDIT:
Zitat von: https://www.mwinklerblog.de/smarthome/eigene-module/echodevice/#Settextcommand    [STRING]    ECHODEVICE    Hier kann ein Text Kommando abgesetzt werden. Alles was Ihr zur Alexa sprechen könnt, könnt Ihr hier in Textform an Alexa senden. 
Was ist daran nicht zu verstehen?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mrb

ich glaube ich habe das Problem zwischen uns identifiziert. du denkst das mein Fhem die Alexa so steuern soll als würde ich es der Alexa sagen. Ich möchte aber was der Alexa sagen und etwas geschieht in Fhem (nämlich in dem Fall der Trigger von der Solaranlage auslösen und/oder die Solaranlage abfragen). Also ich möchte NICHT das die Alexa eine Aktion in Fhem auslöst, ich möchte das Alexa ein paar Daten meines Fhems ausliest.

Dein Beispiel mit Fhem daten zur Alexa schicken oder ein licht einschalten (was ja nicht der Notify ist) haben wir ja mit dem "set textcommand xxx <Kommando in fhem> abgedeckt, aber wie zum Geier bekomme ich einen Befehl gegen Fhem durch die Alexa

Zitat von: MadMax-FHEM am 27 April 2024, 15:40:00Du sagst z.B. zu einem deiner Echos: "Alexa, schalte das Badlicht ein"
Dann geht (verm.) das Badlicht an...

Wie bekommt man die Brücke zwischen Alexa und Fhem hier hin. DAS ist das Problem. Ich bekomme ja nur über das Alexa-Modul an/aus hin und nicht das gewünschte "Alexa gebe mir die Watt der Sollaranlage" da es ja nicht ein Attributtyp ist den das Modul kann.

MadMax-FHEM

NEIN!
Du wolltest ein Beispiel für textcommand und ich habe dir eines gegeben!

Ebenso habe ich dir mehrfach erläutert, wie du die Ansage deines Solarwertes (was du ja irgendwie schon hast/hattest) so machst wie du es willst!

Es gibt eben mehrere Möglichkeiten:

1x per alexa-fhem einen dummy (o.ä.) zu haben und dann mit einer Routine diesen zu triggern und dann eben die Ausgabe über das echodevice-Modul mittels speak (hast du ja schon!?)
(zusätzlich kannst du hier eben per "rauskriegen über voice Reading der echodevice-Devices" noch die Ansage dahin leiten wo die Anfrage reinkam)

oder eben direkt NUR über das voice-Reading -> notify -> prüfen, ob es tatsächlich um "Solar" ging -> Ansage an GENAU DIESES Device...

Mehr gibt es dazu nicht zu sagen!

Der Rest ist eben: machen mit fhem Mitteln (und Perl) fertig...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#29
Zitat von: mrb am 27 April 2024, 16:13:37Wie bekommt man die Brücke zwischen Alexa und Fhem hier hin. DAS ist das Problem. Ich bekomme ja nur über das Alexa-Modul an/aus hin und nicht das gewünschte "Alexa gebe mir die Watt der Sollaranlage" da es ja nicht ein Attributtyp ist den das Modul kann.
Verstehe ich überhaupt nicht...

Die Brücke von Amazon/Alexa -> fhem ist alexa-fhem/Connector

Wenn es (weil es) keinen "Typ" gibt, der Solar ansagt: Alexa Routine (da kannst du doch festlegen was du sagen willst) -> schaltet am Ende einen dummy (bei mir eben einen Licht/Dimm-dummy auf einen bestimmten Wert / bei dir reicht doch ein "dummer" on/off dummy zu haben und diesen am Ende der Routine einfach auf "on" zu schalten)

Da dann ein notify auf den dummy und da dann eben Abfrage des aktuellen Wertes (ReadingsNum) des Solar-Devices und Ansage mittels echodevice-Device set ECHO_123 speak

Ich dachte letzteres läuft schon?
Nur, dass die Ansage eben immer bei dem selben ECHO landet...

Und so wie du deine Fragen (wenn man das überhaupt so nennen mag) stelltst ist es schwer zu antworten...

Wie wäre: GENAU und DETAILLIERT zu schreiben was denn schon geht? Und ebenso was denn GENAU noch fehlt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)