Autor Thema: set DEVICE aus reading lesen  (Gelesen 505 mal)

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 324
set DEVICE aus reading lesen
« am: 29 August 2021, 10:37:43 »
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

Offline Christoph Morrison

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1770
Antw:set DEVICE aus reading lesen
« Antwort #1 am: 29 August 2021, 11:24:19 »
Zeig mal dein ganzes DOIF.

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 324
Antw:set DEVICE aus reading lesen
« Antwort #2 am: 29 August 2021, 12:04:03 »
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

Offline passibe

  • New Member
  • *
  • Beiträge: 14
Antw:set DEVICE aus reading lesen
« Antwort #3 am: 30 August 2021, 10:48:21 »
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
« Letzte Änderung: 30 August 2021, 13:31:31 von passibe »

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:set DEVICE aus reading lesen
« Antwort #4 am: 30 August 2021, 10:58:28 »
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
« Letzte Änderung: 30 August 2021, 11:00:16 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline passibe

  • New Member
  • *
  • Beiträge: 14
Antw:set DEVICE aus reading lesen
« Antwort #5 am: 30 August 2021, 13:32:10 »
Ah, alles klar. Vielen Dank für die Korrektur, wieder was gelernt!

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 324
Antw:set DEVICE aus reading lesen
« Antwort #6 am: 30 August 2021, 21:16:41 »
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

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8685
Antw:set DEVICE aus reading lesen
« Antwort #7 am: 30 August 2021, 22:31:55 »
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

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 324
Antw:set DEVICE aus reading lesen
« Antwort #8 am: 01 September 2021, 19:22:01 »
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

 

decade-submarginal