FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: huranter am 07 März 2018, 23:29:48

Titel: Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: huranter am 07 März 2018, 23:29:48
Hallo,

ich bin neu hier und versuche gerade die leider etwas umständliche Senderwahl in den Yamaha AV Receivern zu vereinfachen.

Mein Plan war es den Sendernamen in einen Dummy zu schreiben um dann mit einem DOIF den Sender im AV Receiver ändern zu lassen.
Dies dann natürlich sobald sich der state im Dummy ändert.

den Sender stellt man im Receiver zB damit ein:

set <Device> navigateListMenu Lesezeichen/Fav 1/STAR FM


Dummy: Yamaha_AV_Sender

Internals:
   CFGFN     
   NAME       Yamaha_AV_Sender
   NR         4608
   STATE      radio TOP 40 96.6 FM
   TYPE       dummy
   READINGS:
     2018-03-07 22:57:44   state           radio TOP 40 96.6 FM
Attributes:
   group      TV
   room       1_Wohnzimmer


Das auslösen sobald sich der state im Dummy ändert war kein Problem.
Nur weiß ich nicht wie man jetzt den Name, des Radiosenders aus dem Dummy ausliest, um ihn dann in den set Befehl einzubinden.

Mein DOIF bis jetzt:

Internals:
   CFGFN     
   DEF        ([Yamaha_AV_Sender:state:sec] < 1) {fhem["set Yamaha_AV navigateListMenu Lesezeichen/Fav 1/STAR FM"]}
   NAME       Senderwechsel
   NR         4717
   NTFY_ORDER 50-Senderwechsel
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-03-07 23:16:31   cmd             0
     2018-03-07 23:16:31   mode            enabled
     2018-03-07 23:16:31   state           initialized
   Regex:
   condition:
     0          ReadingSecDoIf('Yamaha_AV_Sender','state') < 1
   devices:
     0           Yamaha_AV_Sender
     all         Yamaha_AV_Sender
   do:
     0:
       0          {fhem["set Yamaha_AV navigateListMenu Lesezeichen/Fav 1/STAR FM"]}
     1:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   readings:
     0           Yamaha_AV_Sender:state
     all         Yamaha_AV_Sender:state
   uiState:
   uiTable:
Attributes:
   do         always
   group      TV
   room       1_Wohnzimmer


Vielleicht hat ja jemand für diesen Speziellen Fall schon eine Lösung oder jemand hat eine Idee um mir weiter zu helfen.

Bin für jede Hilfe Dankbar.
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: Brockmann am 08 März 2018, 07:36:45
Gehts nicht einfach so?
DOIF ([Yamaha_AV_Sender:state:sec] < 1)
  (set Yamaha_AV navigateListMenu [Yamaha_AV_Sender:state])
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: Ellert am 08 März 2018, 08:02:23
Wenn [Yamaha_AV_Sender:state:sec] auslöst, ist das Alter von state 0.
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: Damian am 08 März 2018, 09:47:15
Zitat von: Ellert am 08 März 2018, 08:02:23
Wenn [Yamaha_AV_Sender:state:sec] auslöst, ist das Alter von state 0.

Daher sind nur Abfragen ohne Trigger der Art:

[?Yamaha_AV_Sender:state:sec]

sinnvoll.
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: huranter am 08 März 2018, 17:41:32
Zitat
Zitat von: Brockmann am 08 März 2018, 07:36:45
Gehts nicht einfach so?
DOIF ([Yamaha_AV_Sender:state:sec] < 1)
  (set Yamaha_AV navigateListMenu [Yamaha_AV_Sender:state])
doch genau so hat es funktioniert.

([Yamaha_AV_Sender:state:sec] < 1) (set Yamaha_AV navigateListMenu Lesezeichen/Fav 1/[Yamaha_AV_Sender:state])
So läuft es jetzt.

War mir eigentlich sicher das ich das schon Probiert habe aber scheinbar ja nicht.
Dankeschön!

Zitat von: Damian am 08 März 2018, 09:47:15
Daher sind nur Abfragen ohne Trigger der Art:

[?Yamaha_AV_Sender:state:sec]

sinnvoll.

Wie muss ich mir das Vorstellen?
Bei meinem Triggert er ja immer darauf das der Wert sich geändert hat. Quasi 0 ist.

Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: Ellert am 08 März 2018, 19:12:09
Zitat von: huranter am 08 März 2018, 17:41:32
doch genau so hat es funktioniert.

([Yamaha_AV_Sender:state:sec] < 1) (set Yamaha_AV navigateListMenu Lesezeichen/Fav 1/[Yamaha_AV_Sender:state])
So läuft es jetzt.

War mir eigentlich sicher das ich das schon Probiert habe aber scheinbar ja nicht.
Dankeschön!

Wie muss ich mir das Vorstellen?
Bei meinem Triggert er ja immer darauf das der Wert sich geändert hat. Quasi 0 ist.
:sec und den Vergleich weglassen, reicht.
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: en-trust am 29 April 2020, 11:09:11
Ich stell mal hier die Frage, da es zum Internetradio gehört.
Mittlerweile gibt es NetRadio ja nicht mehr und ich bin auf feste URLs auf meiner Fritzbox ausgewichen.
In der App stelle ich bisher dann den Eingang Server ein wähle mich dort durch das Menu bis hin zum Internetradio, wo die Links liegen.
Gibt es nun eine Möglichkeit dieses über fhem mittels einem Klick zu bewältigen ?
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: enno am 29 April 2020, 11:29:54
Zitat von: en-trust am 29 April 2020, 11:09:11
Gibt es nun eine Möglichkeit dieses über fhem mittels einem Klick zu bewältigen ?

Ich habe die Fritzbox Adresse auf einem Speicher gelegt. Dann kann ich mit set AV_Receiver preset 3 direkt aufrufen.

Gruss
  Enno
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: en-trust am 29 April 2020, 11:33:20
Damit bin ich aber noch lange nicht bei der Auswahl der Internetstreams... Schön wäre es entweder in der fhem oberfläche dann die Sender anwählen zu können oder in der tablet ui
Titel: Antw:Yamaha_AVR Internetradiosender mit DOIF einstellen
Beitrag von: enno am 29 April 2020, 15:33:53
Ich nutze einen Dummy:
Internals:
   NAME       SET_Radiosender
   STATE      off
   TYPE       dummy
   READINGS:
     2020-04-29 11:03:12   state           off
Attributes:
   setList    state:Aus,NDR2,Radioparadise,FFN,DeltaRadio,BritPop,MPD
   webCmd     state


Dort schalte ich die Sender die ich haben möchte. Ein DOIF macht dann den Rest.