Hauptmenü

set DEVICE aus reading lesen

Begonnen von Skusi, 29 August 2021, 10:37:43

Vorheriges Thema - Nächstes Thema

Skusi

Hallo zusammen,
hab leider nix per SUFU gefunden das meine Problem löst.

Ich möchte in einem DOIF im Ausführungsteil ein set auf ein variables Device absetzten da ich aus einem Reading lese.

(set {ReadingsVal("Alexa_Voice_detect", "gesprochen_zu","0")} speak "Test")

geht nicht...

(set [Alexa_Voice_detect:gesprochen_zu] speak "Test")

geht auch nicht.

Ist das überhaupt machbar, oder muss ich da Umwege gehen ?
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Christoph Morrison


Skusi

Bitte sehr:


([[Weckzeit]|8] and ([?Status] eq "Alltag" or [?Status] eq "DodoFrei" or [?Status] eq "DodoOnTour") )
(set Kaffeemaschine on-for-timer 1200)

DOELSEIF
([Alexa_Trigger_Kaffee] eq "on" and [?Kaffeemaschine:ENERGY_Today] == 0)
(set Kaffeemaschine on-for-timer 1200, set [Alexa_Voice_detect:gesprochen_zu] speak "mach ich, ist in ca 15 Minuten fertig")

DOELSEIF
([Alexa_Trigger_Kaffee] eq "on" and [?Kaffeemaschine:ENERGY_Today] =! 0)
(set [Alexa_Voice_detect:gesprochen_zu] speak "zu spät, der erste Kaffee wurde heute schon gekocht")


In [Alexa_Voice_detect:gesprochen_zu] steht immer der Device Name des letzten Echos zu dem gesprochen wurde.
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

passibe

#3
Siehe hier: https://forum.fhem.de/index.php?topic=63279.0

Für dich heißt das:

{([Alexa_Voice_detect:gesprochen_zu])}
oder
{(ReadingsVal("Alexa_Voice_detect", "gesprochen_zu",""))}

Btw, wenn du dir ein paar Minuten zum googeln nimmst (z.B. mal "set mit reading site:forum.fhem.de" bei Google eingeben) dann findest du das oben verlinkte Thema sofort und musst hier nicht einen Tag lang auf Antworten warten :D

LG

Otto123

#4
Hi,

was im DOIF speziell gehen könnte weiß ich nicht, der Vorschlag von passibe dürfte allgemein nicht funktionieren. In seinem Link geht es um set magic
set magic gilt für alles nach dem Device, nicht jedoch für das Device. dort gilt devspec :)
https://fhem.de/commandref_DE.html#set

So wird es überall mit einem Perlbefehl funktionieren (Code ist so für die FHEM Kommandozeile oder Raw Definition, in der DEF genügt ein Semikolon):
{my $dev=ReadingsVal("Alexa_Voice_detect", "gesprochen_zu","");;fhem("set $dev speak 'zu spät, der erste Kaffee wurde heute schon gekocht'")}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

passibe

Ah, alles klar. Vielen Dank für die Korrektur, wieder was gelernt!

Skusi

Zitat von: passibe am 30 August 2021, 10:48:21
Btw, wenn du dir ein paar Minuten zum googeln nimmst (z.B. mal "set mit reading site:forum.fhem.de" bei Google eingeben) dann findest du das oben verlinkte Thema sofort und musst hier nicht einen Tag lang auf Antworten warten :D

LG

Du kannst mir glauben das ich nicht nur ein paar Minuten bei Googel versucht habe eine Antwort zu finden, bevor ich hier das Forum belästige. Aber manchmal fehlt hat das richtige Suchwort. Glückwunsch das es Dir sofort eingefallen ist, auch wenn es nicht das richtige Ergebniss hervor gebracht hat.  ;)

Sorry, aber das mußte jetzt mal sein...
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Damian

Zitat von: Skusi am 30 August 2021, 21:16:41
Du kannst mir glauben das ich nicht nur ein paar Minuten bei Googel versucht habe eine Antwort zu finden, bevor ich hier das Forum belästige. Aber manchmal fehlt hat das richtige Suchwort. Glückwunsch das es Dir sofort eingefallen ist, auch wenn es nicht das richtige Ergebniss hervor gebracht hat.  ;)

Sorry, aber das mußte jetzt mal sein...

Wenn es nicht funktioniert hat, dann hat es andere Gründe.

defmod di_speak DOIF (1)(set [test:state] speak "Test")

funktioniert bei mir durch Auslösen von cmd_1 ohne Probleme. Test müsste dabei nicht in Anführungszeichen sein, es funktioniert aber trotzdem.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Skusi

Oh man  8) wieder mal peinlich.

Der Fehler lag nicht an der Schreibweise im Ausführungsteil, sondern am Ungleich Operanden im Bedingungsteil:

([Alexa_Trigger_Kaffee] eq "on" and [?Kaffeemaschine:ENERGY_Today] =! 0)

Es schreibt sich halt != und nicht umgekehrt...
Ich werde alt...

Danke für den Schlag auf den Hinterkopf.
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler