Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Neues Plugin: Logitech Squeezebox - Anregungen?

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

    #91
    Vielen Dank

    Hallo Onkelandy,

    hatte bereits gestern deine Angaben getestet. Hat wunderbar funktioniert,
    auch ohne Angabe des Pfades. Bin hellauf begeistert!
    Weißt du zufälligerweise, wie ich mir ein Symbol einfüge, dass mir anzeigt,
    ob die Squezzebox im Netzwerk verfügbar ist?
    Die hängt hinter einer schaltbaren Steckdosenleiste und wenn die aus ist,
    dann geht natürlich gar nichts! Hätte das direkt mit einem Status darstellen wollen. Sprich IP-Adresse da oder nicht!

    Daniel

    Kommentar


      #92
      He surfeu!
      Schön, dass es funktioniert hat. Das mit dem Button hängt letztlich von der Visualisierung und dem Design ab. Das müsstest halt entsprechend anpassen, das hier wäre die Standardvariante:
      Code:
      {{ basic.switch('Squeezebox','Squeezebox.Power', icon1~'control_on_off.png', icon0~'control_on_off.png') }}
      Fügst du einfach in deine Visu-HTML ein, wo du den Button haben willst. Voraussetzung ist natürlich, dass du Squeezebox.Power auch in den Items hast.. dort gleich mit nem knx_send und knx_listen versehen, so wie in meiner vorigen Post beschrieben.

      So kannst du die Squeezebox auch über die Visu ein und ausschalten. Damit sich die geschaltene Steckdose auch bei Bedarf ein- und ausschaltet, musst nur noch das entsprechende Logik-File machen mit folgendem Inhalt. Wobei das vermutlich auch ohne Logik direkt in den Items geht, sofern es wirklich nur um die Steckdose geht. Ich hab halt noch deutlich mehr getriggert, daher mit Logikfile.
      Code:
      if Squeezebox.Power == 1
         Steckdose.an(1)
      Unter der Annahme, dass du die Steckdose als solche auch in nem Item konfiguriert hast. Sonst kannst du sie natürlich nicht ansprechen.

      Kommentar


        #93
        IP-Adresse abfragen

        Hallo,

        eigentlich wollte ich direkt die IP-Adresse anpingen.
        Quasi damit einen Status anzeigen. Mir ist nur die Logik bzw. der Befehl nicht klar, wie ich über smarthome.py die IP pinge.

        Daniel

        Kommentar


          #94
          Im Plugin gibt es auch einen Eintrag für die IP-Adresse.. könnte mir vorstellen, dass du dort mittels crontab alle 60 Sekunden oder so eine Logik aufrufst, wenn du das unbedingt mit Ping machen willst.

          Im Python-Script nutzt du subprocess oder os.popen. Einfach mal googlen...

          Code:
          import os
          pingen = os.popen("ping IP")
          result = pingen.readline()
          pingen.close()
          # alternativ: import subprocess
          # result = subprocess.check_output("ping", "IP", shell=True)
          
          # Nun müsstest du checken, ob zB "timed out" oder "ms" im String des Resultats vorkommt. Könnte so funktionieren, vielleicht aber auch nicht ;) Könnte sein, dass result eine Liste und kein String ist...
          result1 = result.find("timed out")
          # sollte ein -1 ergeben, wenn nichts gefunden wird
          if result1 == -1:
             Squeezebox.lebt(1)
          Und das lebt machst halt in der Items conf als bool rein.

          Ob das wirklich so klappt, kann ich nicht sagen, bin Noob auf dem Python-Gebiet, aber es sind mal ein paar Ansätze, die du testen kannst.

          Kommentar


            #95
            oder vielleicht so:


            sh.tools.ping()

            Pings a computer and returns True if the computer responds, otherwise False. sh.office.laptop(sh.tools.ping('hostname'))

            Kommentar


              #96
              Lach. Ab und an sollt ma mal in die Doku schauen
              Danke. Ich lass meine Antwort dennoch mal leben, da die herangehensweise für andere commandozeilenbefehle relevant sein könnte


              Gesendet von meinem iPad mit Tapatalk

              Kommentar


                #97
                Lesen bildet! :-)

                Hallo,

                ja, da ist wie immer was wahres dran. Bin nach meinem Post gestern, ebenfalls über diesen Befehl "gestolpert". Und was soll ich sagen, es funktionert...

                Daniel

                Kommentar


                  #98
                  Hat hier jemand ein widget für squeezebox?
                  Ich habe zwar das macfleiss versucht aber da fehlt ihm dann my_widget.

                  Kommentar


                    #99
                    Du mußt natürlich das Widget noch einbinden, bspw. bei mir:
                    Code:
                    {% import "Widgets/widget_squeezebox.html" as squeezebox %}
                    {% import "multimedia.html" as multimedia %}
                    Klappt bis auf die Anzeige der Spieldauer astrein!

                    Kommentar


                      widget_my.html

                      Code:
                      /**
                       * A list with selectable item
                       * 
                       * @param       unique id for this widget
                       * @param       a gad/item for the list 
                       * @param       a gad/item for the selected item 
                       * @param       the text to be displayed on top of the list
                       */
                      {% macro list(id, gad_list, gad_item, txt ) %}
                        <ul id="{{ uid(page, id) }}" data-widget="basic.list" data-item="{{ gad_list }}, {{ gad_item }}"
                            data-role="listview" data-dividertheme="c">  
                                    <li data-icon="false"><a href="#">View details</a></li>
                                    <li data-icon="false"><a href="#">Edit</a></li>
                                    <li data-icon="false"><a href="#">Disable</a></li>
                                    <li data-icon="false"><a href="#">Delete</a></li>
                                </ul>   
                      {% endmacro %}
                      
                      
                      /**
                       * Displays a slider-control
                       * 
                       * @param       unique id for this widget
                       * @param       a gad/item current time (progress) 
                       * @param       a gad/item total duration (maximum) 
                       * @param       seconds between two values (optional, default 5s) 
                       * @param       the orientation ('none', 'vertical', 'bottomup', 'semicircle')
                       */
                      {% macro time_slider(id, gad_time, gad_duration, step, mode) %}
                      
                          <input id="{{ uid(page, id) }}" data-widget="my.time_slider" data-item="{{ gad_time }}, {{ gad_duration }}" 
                              type="range" value="0" min="0" max="1" disabled="1" step="{{ step|default(5) }}"
                              orientation="{{ mode }}" data-highlight="true" />
                      
                      {% endmacro %}
                      Könnte man auch "rausnehmen", weil ...... https://knx-user-forum.de/324589-post1.html

                      Kommentar


                        Danke funktioniert!
                        Nur der Name in Erweitert wird nicht angezeigt.

                        Kommentar


                          Ich habe das Beispiel aus Post 78 hergenommen und nachgebaut, wenn ich die viso in browser auf rufe bekomme ich

                          smartVISU 21:02, 24.10, v2.7
                          Code:
                          --------------------------------------------------------------------------------  
                          Error accoured in twig-template engine!  error: Unable to find template "widget_my.html"
                           (looked into: /var/www/smartvisu/apps, /var/www/smartvisu/pages/dbaumann, /var/www/smartvisu/pages/smarthome, /var/www/smartvisu/pages/base, /var/www/smartvisu/widgets). 
                          file:  root.html line:  31 
                           --------------------------------------------------------------------------------
                          die files liegen in /var/www/smartvisu/pages/dbaumann

                          was habe ich falsch gemacht ?

                          Kommentar


                            Keine widget_my.html in /var/www/smartvisu/pages/dbaumann

                            Zumindest liest sich das so.
                            Umgezogen? Ja! ... Fertig? Nein!
                            Baustelle 2.0 !

                            Kommentar


                              ich habe post 100 überlesen ... jetzt ist es da

                              Kommentar


                                Hi,
                                kurze frage kann man den LMS auf dem Smarthome.py image mitlaufen lassen? Wie hoch ist den der Resourceverbrauche von dem Server
                                VG
                                Jürgen

                                Kommentar

                                Lädt...
                                X