Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

- √ - MPD Plugin

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

    - √ - MPD Plugin

    Hallo,

    ich habe noch ein kleines Problem mit dem MPD Plugin. Ich habe mir Buttons gebaut um direkt einen Radiosender anwählen zu können.

    Code:
    admin@smarthome:/usr/smarthome/bin$ ./smarthome.py -d -n
    2013-07-30 21:11:55,499 SmartHome.py INFO     Start SmartHome.py 0.9-7-g0d34a2e -- smarthome.py:__init__:192
    2013-07-30 21:11:55,504 SmartHome.py DEBUG    Python 2.7.3 -- smarthome.py:__init__:193
    2013-07-30 21:11:55,510 SmartHome.py INFO     Init Scheduler -- scheduler.py:__init__:53
    2013-07-30 21:11:55,515 SmartHome.py INFO     Init Plugins -- smarthome.py:__init__:208
    2013-07-30 21:11:55,522 Scheduler    DEBUG    creating 5 workers -- scheduler.py:run:59
    2013-07-30 21:11:55,551 SmartHome.py DEBUG    Plugin: knx -- plugin.py:__init__:42
    2013-07-30 21:11:55,582 SmartHome.py DEBUG    Plugin: ow -- plugin.py:__init__:42
    2013-07-30 21:11:55,597 SmartHome.py INFO     Onewire: connected to 127.0.0.1:4304 -- __init__.py:connect:67
    2013-07-30 21:11:55,604 SmartHome.py DEBUG    Plugin: cli -- plugin.py:__init__:42
    2013-07-30 21:11:55,617 SmartHome.py DEBUG    Plugin: visu -- plugin.py:__init__:42
    2013-07-30 21:11:55,699 SmartHome.py DEBUG    Plugin: sql -- plugin.py:__init__:42
    2013-07-30 21:11:55,726 SmartHome.py DEBUG    SQLite 3.7.13 -- __init__.py:__init__:60
    2013-07-30 21:11:55,753 SmartHome.py DEBUG    sqlite next time: 2013-07-31 03:02:00+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:55,757 SmartHome.py DEBUG    Plugin: rrd -- plugin.py:__init__:42
    2013-07-30 21:11:55,857 SmartHome.py DEBUG    Plugin: mpd -- plugin.py:__init__:42
    2013-07-30 21:11:55,867 SmartHome.py INFO     Init Items -- smarthome.py:__init__:210
    2013-07-30 21:11:56,004 SmartHome.py INFO     Start Plugins -- plugin.py:start:63
    2013-07-30 21:11:56,015 ow           DEBUG    1w-disc next time: 2013-07-30 21:11:56+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,043 rrd          DEBUG    rrd next time: 2013-07-30 21:13:36+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,049 SmartHome.py INFO     Start Logics -- logic.py:__init__:32
    2013-07-30 21:11:56,060 SmartHome.py DEBUG    reading logics from /usr/smarthome/etc/logic.conf -- logic.py:__init__:38
    2013-07-30 21:11:56,081 sh.con       DEBUG    knx: enable group monitor -- __init__.py:handle_connect:110
    2013-07-30 21:11:56,100 sh.con       INFO     KNX: connected to 127.0.0.1:6720 -- my_asynchat.py:connect:69
    2013-07-30 21:11:56,102 SmartHome.py DEBUG    Logic: hello -- logic.py:__init__:45
    2013-07-30 21:11:56,191 sh.con       INFO     mpd: connected to hal9000:6600 -- my_asynchat.py:connect:69
    2013-07-30 21:11:56,207 SmartHome.py DEBUG    Logic: dummy -- logic.py:__init__:45
    2013-07-30 21:11:56,272 SmartHome.py DEBUG    dummy next time: 2013-07-30 21:12:02+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,292 Scheduler    DEBUG    1w-disc next time: 2013-07-30 21:21:56+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,347 visu         DEBUG    series next time: 2013-07-30 21:12:04+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,361 1w-disc      INFO     1-Wire: 28.530988040000 with sensors: T11, T10, T, T12, T9 -- __init__.py:_discovery:390
    2013-07-30 21:11:56,368 1w-disc      INFO     1-Wire: 28.339F88040000 with sensors: T11, T10, T, T12, T9 -- __init__.py:_discovery:390
    2013-07-30 21:11:56,523 ow           DEBUG    1w-sen next time: 2013-07-30 21:11:56+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,586 sh.gc        DEBUG    Garbage collector: collected 97 objects. -- smarthome.py:_garbage_collection:345
    2013-07-30 21:11:56,731 Scheduler    DEBUG    sh.gc next time: 2013-07-31 02:04:00+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:56,938 Scheduler    DEBUG    1w-sen next time: 2013-07-30 21:16:56+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:11:57,066 mpd          DEBUG    erdgeschoss.kueche.mpd_kueche.volume = 100 via MPD None -- item.py:_update:219
    2013-07-30 21:11:57,074 mpd          DEBUG    erdgeschoss.kueche.mpd_kueche.play = True via MPD None -- item.py:_update:219
    2013-07-30 21:11:57,486 1w-sen       DEBUG    erdgeschoss.schlafzimmer.temp = 23 via 1-Wire /bus.1/28.530988040000/temperature -- item.py:_update:219
    2013-07-30 21:11:58,337 1w-sen       DEBUG    erdgeschoss.wohnzimmer.temp = 22 via 1-Wire /bus.1/28.339F88040000/temperature -- item.py:_update:219
    2013-07-30 21:11:58,425 1w-sen       DEBUG    cycle takes 1.68701100349 seconds -- __init__.py:_sensor_cycle:365
    2013-07-30 21:12:00,198 hello        INFO     Hello World! -- hello.py:<module>:3
    2013-07-30 21:12:02,209 dummy        WARNING  Logic: dummy, File: dummy_series.py, Line: 2, Method: <module>, Exception: SmartHome instance has no attribute 'first' -- scheduler.py:_task:281
    2013-07-30 21:12:02,391 Scheduler    DEBUG    dummy next time: 2013-07-30 21:17:02+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:12:04,225 Scheduler    DEBUG    series next time: 2013-07-30 21:12:14+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:12:12,849 SmartHome.py INFO     WebSocket: incoming connection from 192.168.178.26:51312 -- __init__.py:handle_accept:115
    2013-07-30 21:12:13,066 SmartHome.py DEBUG    192.168.178.26:51312 sent '{"cmd":"proto","ver":2}' -- __init__.py:json_parse:257
    2013-07-30 21:12:13,077 SmartHome.py DEBUG    192.168.178.26:51312 sent '{"cmd":"monitor","items":["erdgeschoss.kueche.mpd_kueche.volume","erdgeschoss.kueche.mpd_kueche.artist","erdgeschoss.kueche.mpd_kueche.title","erdgeschoss.kueche.mpd_kueche.play","erdgeschoss.kueche.mpd_kueche.stop","erdgeschoss.kueche.mpd_kueche.ndr2","erdgeschoss.kueche.mpd_kueche.radio21","erdgeschoss.kueche.mpd_kueche.rockantenne"]}' -- __init__.py:json_parse:257
    2013-07-30 21:12:14,365 Scheduler    DEBUG    series next time: 2013-07-30 21:12:24+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:12:20,391 SmartHome.py DEBUG    192.168.178.26:51312 sent '{"cmd":"item","id":"erdgeschoss.kueche.mpd_kueche.radio21","val":"1"}' -- __init__.py:json_parse:257
    2013-07-30 21:12:20,396 SmartHome.py DEBUG    erdgeschoss.kueche.mpd_kueche.radio21 = True via Visu 192.168.178.26:51312 -- item.py:_update:219
    2013-07-30 21:12:20,404 SmartHome.py ERROR    Problem running <bound method mpd._play_file of <plugins.mpd.mpd connected hal9000:6600 at 0x239b698>>: 'mpd_file' -- item.py:_update:230
    2013-07-30 21:12:22,512 SmartHome.py DEBUG    192.168.178.26:51312 sent '{"cmd":"item","id":"erdgeschoss.kueche.mpd_kueche.ndr2","val":"1"}' -- __init__.py:json_parse:257
    2013-07-30 21:12:22,517 SmartHome.py DEBUG    erdgeschoss.kueche.mpd_kueche.ndr2 = True via Visu 192.168.178.26:51312 -- item.py:_update:219
    2013-07-30 21:12:22,525 SmartHome.py ERROR    Problem running <bound method mpd._play_file of <plugins.mpd.mpd connected hal9000:6600 at 0x239b698>>: 'mpd_file' -- item.py:_update:230
    2013-07-30 21:12:24,257 Scheduler    DEBUG    series next time: 2013-07-30 21:12:34+02:00 -- scheduler.py:_next_time:238
    2013-07-30 21:12:34,352 Scheduler    DEBUG    series next time: 2013-07-30 21:12:44+02:00 -- scheduler.py:_next_time:238
    ^C2013-07-30 21:12:39,688 SmartHome.py INFO     Number of Threads: 8 -- smarthome.py:stop:318
    2013-07-30 21:12:39,696 SmartHome.py INFO     Stop Plugins -- plugin.py:stop:68
    2013-07-30 21:12:39,701 SmartHome.py INFO     KNX: connection to 127.0.0.1:6720 closed -- my_asynchat.py:handle_close:103
    2013-07-30 21:12:39,706 SmartHome.py DEBUG    Closing listen -- __init__.py:stop:147
    2013-07-30 21:12:39,711 SmartHome.py INFO     mpd: connection to hal9000:6600 closed -- my_asynchat.py:handle_close:103
    2013-07-30 21:12:40,216 SmartHome.py INFO     SmartHome.py stopped -- smarthome.py:stop:339
    items.conf
    Code:
    [erdgeschoss]
        [[flur]]
            name = Flur
            sv_page = room
            sv_img = scene_stairs.png
            [[[licht]]]
                name = Flurlicht
                visu = yes
                sv_widget = "{{ basic.dual('item', 'item', icon1~'message_presence.png', icon0~'message_presence_disabled.png') }} {{ device.dimmer('item', 'item.name', 'item.schalter', 'item.dimmer') }}"
                [[[[schalter]]]]
                [[[[dimmer]]]]
                [[[[pm]]]]
        [[wohnzimmer]]
            name = Wohnzimmer
            sv_page = room
            sv_img = scene_livingroom.png
            [[[licht_decke]]]
                name = Deckenbeleuchtung
                visu = yes
                sv_widget = "{{ basic.dual('item', 'item', icon1~'message_presence.png', icon0~'message_presence_disabled.png') }} {{ device.dimmer('item', 'item.name', 'item.schalter', 'item.dimmer') }}"
                [[[[schalter]]]]
                [[[[dimmer]]]]
                [[[[pm]]]]
            [[[licht_stehlampe]]]
                name = Stehlampe
            [[[licht_kugel]]]
                name = Kugellampe
            [[[temp]]]
                name = Temperatur
                type = num
                ow_addr = 28.339F88040000
                ow_sensor = T
                sqlite = yes
                visu = yes
                sv_widget = "{{ plot.period('item', 'item', 'avg', '48h') }}"
        [[kueche]]
            name = Küche
            sv_page = room
            sv_img = scene_cooking.png
            [[[mpd_kueche]]]
                name = Musikplayer
                type = str
                mpd_host = hal9000
                mpd_port = 6600
                visu = yes
                sv_widget = "{% import "multimedia.html" as multimedia %}{{ multimedia.music(item, 'item.play', 'item.stop', '', '', '', 'item.volume', '', 'item.title', 'item.artist', '', '') }}{{ basic.button('item.ndr2', 'item.ndr2', 'NDR2', '', 1, '') }}{{ basic.button('item.radio21', 'item.radio21', 'Radio21', '', 1, '') }}{{ basic.button('item.rockantenne', 'item.rockantenne', 'Rock Antenne Alternative', '', 1, '') }}"
                [[[[title]]]]
                    type = str
                    mpd_listen = title
                    visu = yes
                [[[[artist]]]]
                    type = str
                    mpd_listen = artist
                    visu = yes
                [[[[volume]]]]
                    type = num
                    mpd_listen = volume
                    mpd_send = volume
                    visu = yes
                [[[[stop]]]]
                    type = bool
                    mpd_listen = stop
                    mpd_send = stop
                    visu = yes
                [[[[play]]]]
                    type = bool
                    mpd_listen = play
                    mpd_send = play
                    visu = yes
                [[[[ndr2]]]]
                    name = NDR2
                    type = bool
                    enforce_updates = yes
                    mpd_url = "http://ndrstream.ic.llnwd.net/stream/ndrstream_ndr2_hi_mp3"
                    visu = yes
                [[[[radio21]]]]
                    name = Radio21
                    type = bool
                    enforce_updates = yes
                    mpd_url = "http://www.radio21.de/livestream/livestream.m3u"
                    visu = yes
                [[[[rockantenne]]]]
                    name = Rock Antenne Alternative
                    type = bool
                    enforce_updates = yes
                    mpd_url = "http://www.rockantenne.de/webradio/channels/alternative.m3u"
                    visu = yes
        [[hwr]]
            name = HWR
            sv_page = room
            sv_img = scene_cleaning.png
        [[schlafzimmer]]
            name = Schlafzimmer
            sv_page = room
            sv_img = scene_sleeping_alternat.png
            [[[temp]]]
                name = Temperatur
                type = num
                ow_addr = 28.530988040000
                ow_sensor = T
                sqlite = yes
                visu = yes
                sv_widget = "{{ plot.period('item', 'item', 'avg', '48h') }}"
        [[wc]]
            name = WC
            sv_page = room
            sv_img = scene_toilet_alternat.png
    [zentral]
        name = Zentralfunktionen
        sv_page = room
        sv_img = edit_settings.png
        [[licht]]
            name = Licht
            sv_widget = "{{ basic.button('item', 'item.name.an', 'An', '', 1) }}     {{ basic.button('item', 'item.name.aus', 'Aus', '', 0) }}"
    Fehler
    Code:
    2013-07-30 21:12:22,525 SmartHome.py ERROR    Problem running <bound method mpd._play_file of <plugins.mpd.mpd connected hal9000:6600 at 0x239b698>>: 'mpd_file' -- item.py:_update:230
    Hat jemand eine Idee was ich falsch gemacht habe?

    Gruß Felix

    #2
    Hallo Felix,

    ich glaube Du bist einem Bug aufgesessen.

    Woher hast Du das mpd_url in Deiner item.conf?

    Eigentlich muss es mpd_file heissen, bitte ändere es ab.

    Weiterhin musst Du noch von der Entwickler-Version https://raw.github.com/mknx/smarthom...pd/__init__.py in das mpd Pluginverzeichnis kopieren.

    Klappt es nun? Dann würde ich es allen zur Verfügung stellen.

    Bis bald

    Marcus

    Kommentar


      #3
      Hi Marcus,

      ich hatte mich an dem Beispiel unter items.conf auf dieser Seite hier orientiert:
      SmartHome.py - MPD Plugin

      Mit mpd_file und deinem Fix läuft es 1A. Vielen Dank für deinen Support.

      Gruß Felix
      Zuletzt geändert von bmx; 21.10.2018, 18:06.

      Kommentar


        #4
        Hi Felix,

        ok der Fehler in Doku ist gefixed und die Änderung ist für alle im master-Branch. Pi-Nutzer erhalten sie durch ein Update über die GUI.

        Bis bald

        Marcus

        Kommentar


          #5
          Hallo "mpd_file" gibt es im aktuellen Plugin ja nicht mehr. Wie macht man das da? Ich bekomme es nicht hin

          Kommentar


            #6
            "mpd_url" als Ersatz geht nicht?

            Kommentar


              #7
              zumindest mit /dir/file gehts nicht.

              Kommentar

              Lädt...
              X