Ankündigung

Einklappen
Keine Ankündigung bisher.

Busch Jäger iNet Radio

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Busch Jäger iNet Radio

    Moin,

    ich habe im Bad das oben genannte up Radio hängen.
    kennt ihr eine ganz einfache Möglichkeit ein paar Befehle in shng zu integrieren?

    z.B. Lautstärke auf 5 setzen:
    http://192.168.1.61/de/index.cgi?vo=5&cv=+Setzen+

    Station 1 Abspielen
    http://192.168.1.61/de/index.cgi?n1=FFN&p1=+Abspielen+

    Für FHEM gibt es scheinbar eine Lösung:
    https://forum.fhem.de/index.php?topic=47240.0

    eine vollständige Integration brauche ich aber nicht, ich suche eine Einfache... ;-)

    Ciao
    Lars
    Zapft ihr Narren der König hat Durst

    #2
    Nabend,

    z.B. mit
    Code:
    __import__('requests').get("http://192.168.1.61/de/index.cgi?vo=5&cv=+Setzen+")
    im eval eines Items.

    Gruß Stefan

    Kommentar


      #3
      Hi danke für den Tipp
      der type bool ist falsch. hast du noch einen Tipp wie das mit dem Ausdruck funktioniert? foo oder dict?
      str, bool, dict und foo funktionieren nicht
      Code:
      2025-01-19  15:36:53 WARNING  lib.item.item       Item og.bad.radio.radio_ffn: value "<Response [200]>" does not match type str. Via caller Eval:smartVISU, source 127.0.0.1

      Code:
      og:
          bad:
              radio:
                  radio_ffn:
                      type: bool
                      enforce_updates: true
                      visu_acl: rw
                      eval: __import__('requests').get("http://192.168.1.61/de/index.cgi?n1=FFN&p1=+Abspielen+")
                  radio_rock_alt:
                      type: bool
                      enforce_updates: true
                      visu_acl: rw
                      eval: __import__('requests').get("http://192.168.1.61/de/index.cgi?n5=RockAntenne+Alternative&p5=+Abspielen+")
        ​
      Zapft ihr Narren der König hat Durst

      Kommentar


        #4
        Hochpass Ein .text am Ende könnte helfen. Allerdings würde ich das nicht in eval Statements packen weil Du da keine Fehlerbehandlung machen kannst.

        Userfunctions kennst Du? Dort könntest Du das ganze unterbringen und Platz sparen:

        Dann könntest Du eine Datei für userfunctions namens radio erstellen:
        Code:
        #
        # This file contains user defined functions for use with SmartHomeNG
        #
        import logging
        import requests
        
        _logger = logging.getLogger(__name__)
        
        _VERSION     = '0.1.0'
        _DESCRIPTION = 'Rundfunk per Internetplayer'
        
        baseurl = "http://192.168.1.61/de/index.cgi?"
        #
        # Example functions
        #
        def abspielen(n1):
            url=f"{baseurl}n1={n1}&p1=+Abspielen+"
            response = requests.get(url)
            if response.status_code == 200:
                return response.text
            return "Fehler!"
        und in etwa sowas ins eval schreiben

        eval: uf.radio.abspielen("FFN")

        PS: Du solltest in dem Code vielleicht noch ein timeout mitgeben und vorher die IP prüfen ob sie auch im Netz erreichbar ist, aber das ist eher die Kür als die Pflicht.
        Zuletzt geändert von bmx; 19.01.2025, 18:03.

        Kommentar


          #5
          Danke. Heute hatte ich Zeit das zu testen. Vielen dank jetzt funktioniert es. Jetzt komme ich weiter
          Zapft ihr Narren der König hat Durst

          Kommentar

          Lädt...
          X