Ankündigung

Einklappen
Keine Ankündigung bisher.

Kathrein Receiver Plugin

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

    Kathrein Receiver Plugin

    Ich habe auf Basis des smarttv Plugins und der ufsControl API von Kathrein ein Plugin für Kathrein Receiver geschrieben.
    Derzeit findet man es als Pull Request in der develop Version von sh.py.
    Ich habe die Plugin für einen Kathrein UFS922 Receiver bei mir ausgiebig getestet und konnte keine Fehlfunktionen erkennen. Wie beim smarttv Plugin habe ich die Möglichkeit mehrerer Receiver über ID's mitgezogen, bin mir aber nicht sicher ob es funktioniert da ungetestet (wenn es beim smarttv Plugin funktioniert sollte es aber hier auf funktionieren).

    Viel Spaß mit dem Plugin

    #2
    Hallo,

    Danke für das Plugin. Ist in develop.

    Bis bald

    Marcus


    Gesendet von unterwegs

    Kommentar


      #3
      Hey, das klingt interessant, hab auch einen 922.

      hast zu zufällig schon eine fertige items.conf und eine page, sind doch einige items zum Anlegen sonst

      danke, chris

      Kommentar


        #4
        Nein hab ich noch nicht gemacht, ich hab nur ein paar Buttons zum testen eingefügt. Wäre aber nett wenn du (falls du eine erstellst) die hier Posten könntest. Ich denke aber am zweckführendsten wäre ein Widget so wie es beim smarttv plugin erstellt wurde bei dem die Fernbedinung aufpoppt wenn man auf den Button "Kathrein" drückt.

        Kommentar


          #5
          so, ich hätte jetzt mal versucht die Fernbedienung nachzubauen, aber irgendwie tut das Teil gar nichts.

          Was hab ich getan:
          1.) Plugin installiert und konfiguriert
          plugin.conf
          Code:
          [kathrein]
              class_name = Kathrein
              class_path = plugins.kathrein
              host = 10.0.1.121
              port = 9000
              kathreinid = 1
          Das Plugin selbst dürfte auch geladen werden, im Log steht
          Code:
          2014-04-10 20:13:56,398 DEBUG    Main         Plugin: kathrein -- plugin.py:__init__:43
          ...
          2014-04-10 20:14:30,713 DEBUG    Main         Kathrein Item Mute with value mute for Kathrein ID 1 found! -- __init__.py:parse_item:54
          2014-04-10 20:14:30,722 DEBUG    Main         Kathrein Item Media with value media for Kathrein ID 1 found! -- __init__.py:parse_item:54
          2014-04-10 20:14:30,732 DEBUG    Main         Kathrein Item tvr with value tvr for Kathrein ID 1 found! -- __init__.py:parse_item:54
          2014-04-10 20:14:30,742 DEBUG    Main         Kathrein Item 0 with value 0 for Kathrein ID 1 found! -- __init__.py:parse_item:54
          2014-04-10 20:14:30,752 DEBUG    Main         Kathrein Item 1 with value 1 for Kathrein ID 1 found! -- __init__.py:parse_item:54
          2014-04-10 20:14:30,763 DEBUG    Main         Kathrein Item 2 with value 2 for Kathrein ID 1 found! -- __init__.py:parse_item:54
          2014-04-10 20:14:30,773 DEBUG    Main         Kathrein Item 3 with value 3 for Kathrein ID 1 found! -- __init__.py:parse_item:54

          2.) die Items angelegt, hier die ersten paar
          Code:
          [kathrein922]
            name = Kathrein 922
            type = str
            kathrein = true
            kathreinid = 1
            enforce_updates = true
          
            [[mute]]
              name = Mute
              type = bool
              visu_acl = rw
              kathrein = mute
              kathreinid = 1
              enforce_updates = true
            
            [[media]]
              name = Media
              type = bool
              visu_acl = rw
              kathrein = media
              kathreinid = 1
              enforce_updates = true
          3.) buttons in eine page gegeben
          HTML-Code:
                              {{ basic.button('bKathrein.mute', 'kathrein922.mute', 'mute') }}
                              {{ basic.button('bKathrein.p_down', 'kathrein922.p_down', 'P-') }}
                              {{ basic.button('bKathrein.info', 'kathrein922.info', 'i') }}
          Aber das Drücken auf die Buttons tut gar nichts, kein direkter Fehler oder sonst was.

          Im Debug-Log find ich auch nichts dazu...

          Kommentar


            #6
            ok, das war mal wieder typisch für Smarthome, wenn man stundenlang nach einem Fehler sucht, aber irgendwie nicht weiter kommt, dann muss man das Image neu booten, und plötzlich funktioniert es...

            Werde morgen mal dann die Details testen und das Beispiel einstellen

            Kommentar


              #7
              Zitat von chris5020 Beitrag anzeigen
              ok, das war mal wieder typisch für Smarthome, wenn man stundenlang nach einem Fehler sucht, aber irgendwie nicht weiter kommt, dann muss man das Image neu booten, und plötzlich funktioniert es...
              Das ist Blödsinn. Woran der Fehler lag, kann man ohne Debug-Log schlecht nachvollziehen und ist wahrscheinlich auch wenig hilfreich.

              Ich tippe auf Config Files geändert und SH.py nicht neu gestartet, oder auf SV Cache nicht gelöscht.

              Bis bald

              Marcus

              Kommentar


                #8
                Nein, hier muss ich bewusst widersprechen, ist ja nicht das erste mal, sondern sicher das 3. oder 4. mal, aber eigentlich hätte ich es wissen müssen.

                Ich hab gestern sicher 50x Smarthome neu gestartet, nach jeder kleinen Änderung. Und bevor ich dann die Maschine rebootet hab, hab ich sicher noch 3x neu gestartet OHNE was an der Config zu ändern, weil ich eigentlich schon einen kompletten Fehlerbericht erstellt hatte.

                Das blöde ist nämlich auch, dass CLI irgendwie nicht geht, sobald ich was eingebe schliesst sich das Fenster nach ENTER.

                Nach dem Reboot kommt CLI gar nicht mehr.

                Aber zusammengefasst ist es Tatsache:
                Ein Restart von Smarthome ist meist leider zu wenig, da hilft oft dann ein Restart der Maschine...

                Kommentar


                  #9
                  Hallo,

                  hattest Du den Cache der smartVISU gelöscht?

                  Bis bald

                  Marcus

                  Kommentar


                    #10
                    sicher nicht bewusst, ich dachte das passiert beim Neustart sowieso?
                    Wo kann man den Cache explizit löschen, ausser durch deaktivieren in den Einstellungen?
                    lt. https://knx-user-forum.de/smartvisu/...pagecache.html

                    schreibt Apollo:
                    Der Restart löscht automatisch das temp Verzeichnis.


                    meine Änderungen an der Page selbst waren nach dem Neustart sichtbar.

                    Kommentar


                      #11
                      Zitat von chris5020 Beitrag anzeigen
                      sicher nicht bewusst, ich dachte das passiert beim Neustart sowieso?
                      Nur wenn der Autogenerator von SH.py verwendet wird.

                      Bis bald

                      Marcus

                      Kommentar


                        #12
                        ok, das mit dem Autogenerator ist leider nicht offensichtlich, auch im Post von Apollo im oben angeführten Post.

                        Und meine Änderungen an den Seiten waren eigentlich immer sichtbar nach dem Restart von SH.

                        Aber ich werde einfach zur Sicherheit ein
                        rm -r /var/www/smartvisu/temp/*

                        in mein Restart-Script einfügen und das ganze beobachten.

                        Danke für das Info-Update, und sorry für den Missbrauch dieses Threads hier.

                        In den nächsten Tagen gibt es hier ein Beispiel für die Fernbedienung vom UFS, und angespornt davon werd ich eventuell auch noch EPG, Timer usw ergänzen

                        lg, chris

                        Kommentar


                          #13
                          Freut mich das es nicht nur bei mir funktioniert Bin schon gespannt.

                          Kommentar


                            #14
                            So, hier mal das versprochene Beispiel mit dem Nachbau der Fernbedienung.

                            items:
                            Code:
                            [kathrein922]
                              name = Kathrein 922
                              type = str
                              kathrein = true
                              kathreinid = 1
                              enforce_updates = true
                            
                              [[mute]]
                                name = Mute
                                type = bool
                                visu_acl = rw
                                kathrein = mute
                                kathreinid = 1
                                enforce_updates = true
                              
                              [[media]]
                                name = Media
                                type = bool
                                visu_acl = rw
                                kathrein = media
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[tvr]]
                                name = tvr
                                type = bool
                                visu_acl = rw
                                kathrein = tvr
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[0]]
                                name = 0
                                type = bool
                                visu_acl = rw
                                kathrein = 0
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[1]]
                                name = 1
                                type = bool
                                visu_acl = rw
                                kathrein = 1
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[2]]
                                name = 2
                                type = bool
                                visu_acl = rw
                                kathrein = 2
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[3]]
                                name = 3
                                type = bool
                                visu_acl = rw
                                kathrein = 3
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[4]]
                                name = 4
                                type = bool
                                visu_acl = rw
                                kathrein = 4
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[5]]
                                name = 5
                                type = bool
                                visu_acl = rw
                                kathrein = 5
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[6]]
                                name = 6
                                type = bool
                                visu_acl = rw
                                kathrein = 6
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[7]]
                                name = 7
                                type = bool
                                visu_acl = rw
                                kathrein = 7
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[8]]
                                name = 8
                                type = bool
                                visu_acl = rw
                                kathrein = 8
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[9]]
                                name = 9
                                type = bool
                                visu_acl = rw
                                kathrein = 9
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[menu]]
                                name = menu
                                type = bool
                                visu_acl = rw
                                kathrein = menu
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[p_up]]
                                name = p+ 
                                type = bool
                                visu_acl = rw
                                kathrein = p+ 
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[p_down]]
                                name = p- 
                                type = bool
                                visu_acl = rw
                                kathrein = p- 
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[epg]]
                                name = epg
                                type = bool
                                visu_acl = rw
                                kathrein = epg
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[up]]
                                name = up
                                type = bool
                                visu_acl = rw
                                kathrein = up
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[down]]
                                name = down
                                type = bool
                                visu_acl = rw
                                kathrein = down
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[right]]
                                name = right
                                type = bool
                                visu_acl = rw
                                kathrein = right
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[left]]
                                name = left
                                type = bool
                                visu_acl = rw
                                kathrein = left
                                kathreinid = 1
                                enforce_updates = true
                             
                              [[back]]
                                name = back
                                type = bool
                                visu_acl = rw
                                kathrein = back
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[standby]]
                                name = standby
                                type = bool
                                visu_acl = rw
                                kathrein = standby
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[text]]
                                name = text
                                type = bool
                                visu_acl = rw
                                kathrein = text
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[vol_up]]
                                name = vol+
                                type = bool
                                visu_acl = rw
                                kathrein = vol+
                                kathreinid = 1
                                enforce_updates = true
                             
                              [[vol_down]]
                                name = vol-
                                type = bool
                                visu_acl = rw
                                kathrein = vol-
                                kathreinid = 1
                                enforce_updates = true
                              
                              [[info]]
                                name = info
                                type = bool
                                visu_acl = rw
                                kathrein = info
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[fav]]
                                name = fav
                                type = bool
                                visu_acl = rw
                                kathrein = fav
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[pip]]
                                name = pip
                                type = bool
                                visu_acl = rw
                                kathrein = pip
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[opt]]
                                name = opt
                                type = bool
                                visu_acl = rw
                                kathrein = opt
                                kathreinid = 1
                                enforce_updates = true
                             
                              [[archiv]]
                                name = archiv
                                type = bool
                                visu_acl = rw
                                kathrein = archiv
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[fback]]
                                name = fback
                                type = bool
                                visu_acl = rw
                                kathrein = fback
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[play]]
                                name = play
                                type = bool
                                visu_acl = rw
                                kathrein = play
                                kathreinid = 1
                                enforce_updates = true
                             
                              [[fforward]]
                                name = fforward
                                type = bool
                                visu_acl = rw
                                kathrein = fforward
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[pause]]
                                name = pause
                                type = bool
                                visu_acl = rw
                                kathrein = pause
                                kathreinid = 1
                                enforce_updates = true
                            
                              [[rec]]
                                name = rec
                                type = bool
                                visu_acl = rw
                                kathrein = rec
                                kathreinid = 1
                                enforce_updates = true
                             
                              [[stop]]
                                name = stop
                                type = bool
                                visu_acl = rw
                                kathrein = stop
                                kathreinid = 1
                                enforce_updates = true
                            und page
                            Code:
                                          <h3>Fernbedienung</h3>
                                                {{ basic.button('bKathrein.tvr', 'kathrein922.tvr', 'TV/R') }}
                                                &nbsp;&nbsp;
                                                {{ basic.button('bKathrein.standby', 'kathrein922.standby', 'on/off') }}
                                                <br>
                                                <br>
                                                {{ basic.button('bKathrein.b1', 'kathrein922.1', '1') }}
                                                {{ basic.button('bKathrein.b2', 'kathrein922.2', '2') }}
                                                {{ basic.button('bKathrein.b3', 'kathrein922.3', '3') }}
                                                <br>
                                                {{ basic.button('bKathrein.b4', 'kathrein922.4', '4') }}
                                                {{ basic.button('bKathrein.b5', 'kathrein922.5', '5') }}
                                                {{ basic.button('bKathrein.b6', 'kathrein922.6', '6') }}
                                                <br>
                                                {{ basic.button('bKathrein.b7', 'kathrein922.7', '7') }}
                                                {{ basic.button('bKathrein.b8', 'kathrein922.8', '8') }}
                                                {{ basic.button('bKathrein.b9', 'kathrein922.9', '9') }}
                                                <br>
                                                {{ basic.button('bKathrein.menu', 'kathrein922.menu', 'MENU') }}
                                                {{ basic.button('bKathrein.b0', 'kathrein922.0', '0') }}
                                                {{ basic.button('bKathrein.text', 'kathrein922.text', 'TEXT') }}
                                                <br>
                                                <br>
                                                {{ basic.button('bKathrein.vol_down', 'kathrein922.vol_down',     '', icon0~'audio_volume_low.png','1') }}
                                                {{ basic.button('bKathrein.p_up', 'kathrein922.p_up', 'P+') }}
                                                {{ basic.button('bKathrein.vol_up', 'kathrein922.vol_up',         '', icon0~'audio_volume_high.png','1') }}
                                                <br>
                                                {{ basic.button('bKathrein.mute', 'kathrein922.mute',             '', icon0~'audio_volume_mute.png','1') }}
                                                {{ basic.button('bKathrein.p_down', 'kathrein922.p_down', 'P-') }}
                                                {{ basic.button('bKathrein.info', 'kathrein922.info', 'i') }}
                                                <br>
                                                <br>
                                                {{ basic.button('bKathrein.fav', 'kathrein922.fav', 'FAV') }}
                                                {{ basic.button('bKathrein.pip', 'kathrein922.pip', 'PIP') }}
                                                {{ basic.button('bKathrein.opt', 'kathrein922.opt', 'OPT') }}
                                                <br>
                                                <br>
                                                {{ basic.button('bKathrein.epg', 'kathrein922.epg',             '', icon0~'it_television.png','1') }}
                                                {{ basic.button('bKathrein.up', 'kathrein922.up', '', 'arrow-u') }}
                                                {{ basic.button('bKathrein.media', 'kathrein922.media',         '', icon0~'it_nas.png','1') }}
                                                <br>
                                                {{ basic.button('bKathrein.left', 'kathrein922.left', '', 'arrow-l') }}
                                                {{ basic.button('bKathrein.ok', 'kathrein922.ok', 'OK') }}
                                                {{ basic.button('bKathrein.right', 'kathrein922.right', '', 'arrow-r') }}
                                                <br>
                                                {{ basic.button('bKathrein.back', 'kathrein922.back',             '', icon0~'control_return.png','1') }}
                                                {{ basic.button('bKathrein.down', 'kathrein922.down', '', 'arrow-d') }}
                                                {{ basic.button('bKathrein.portal', 'kathrein922.portal',         '', icon0~'control_building_empty.png','1') }}
                                                <br>
                                                <br>
                                                {{ basic.button('bKathrein.fback', 'kathrein922.fback',         '', icon0~'audio_rew.png','1') }}
                                                {{ basic.button('bKathrein.play', 'kathrein922.play',             '', icon0~'audio_play.png','1') }}
                                                {{ basic.button('bKathrein.fforward', 'kathrein922.fforward',     '', icon0~'audio_ff.png','1') }}
                                                <br>
                                                {{ basic.button('bKathrein.pause', 'kathrein922.pause',         '', icon0~'audio_pause.png','1') }}
                                                {{ basic.button('bKathrein.rec', 'kathrein922.rec',             '', icon0~'audio_rec.png','1') }}
                                                {{ basic.button('bKathrein.stop', 'kathrein922.stop',             '', icon0~'audio_stop.png','1') }}
                                                <br>
                            lg, chris

                            Kommentar


                              #15
                              Danke! Freut mich das mein Plugin zumindest einem zweiten geholfen hat Ich wer das die nächsten Tage gleich mal testen!

                              LG

                              Kommentar

                              Lädt...
                              X