Ankündigung

Einklappen
Keine Ankündigung bisher.

byte to bits plugin

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

  • henfri
    antwortet
    Danke!

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    https://knx-user-forum.de/smarthome-...h-starten.html

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Läuft. Danke!

    Letzte Frage (OT):
    Gibt es von jemandem schon ein debian/ubuntu startskript?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    Du musst Dir beim setzen von Itemwerten das '=' verbieten.

    Item('Wert') setzt den Wert.

    Zitat von henfri Beitrag anzeigen
    Na, wenn ein Busteilnehmer eine Adresse liest, soll sh.ph erstmal eine andere Adresse senden. Daraufhin kommt eine Antwort vom Multimedia-Interface, welches einige GAs sendet.

    Beispiel:
    Read von Visu auf 9/1/57
    sh.py sendet 9/1/254 ("Event Request")
    Multimedia-Interface fragt Verstärker ab
    und sendet 9/1/55
    Die Logik wird daraufhin aufgerufen und 9/1/54 wird von bittobyte.py geschrieben.
    das geht momentan nicht einfach. Man könnte es über eine Logik realisieren die auf die GA hört und dann einfach groupreads abruft.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,
    Zitat von mknx Beitrag anzeigen
    tja, das sieht nach einem klassischen Anfängerfehler aus ;-)
    Da bin ich ja beruhigt ;-)

    Ich bin jetzt ein Stück weiter. Aber:
    Code:
    2013-05-26 12:14:57,049 SmartHome.py DEBUG    multimedia.zones = 9 via KNX 1.0.35 -- item.py:_update:210
    2013-05-26 12:14:57,050 SmartHome.py DEBUG    Triggering ByteToBit - by: Item source: multimedia.zones destination: None value: 9 -- scheduler.py:trigger:117
    2
    Aber an die Adressen 55 ff werden die Bits nicht gesendet...

    Ich verstehe die Frage leider nicht. Was meinst Du mit lesen eines Objektes? Du kannst mit dem KNX-Plugin groupreads absetzen. Ist es das?
    Na, wenn ein Busteilnehmer eine Adresse liest, soll sh.ph erstmal eine andere Adresse senden. Daraufhin kommt eine Antwort vom Multimedia-Interface, welches einige GAs sendet.

    Beispiel:
    Read von Visu auf 9/1/57
    sh.py sendet 9/1/254 ("Event Request")
    Multimedia-Interface fragt Verstärker ab
    und sendet 9/1/55
    Die Logik wird daraufhin aufgerufen und 9/1/54 wird von bittobyte.py geschrieben.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    tja, das sieht nach einem klassischen Anfängerfehler aus ;-)

    Code:
    bits = bin(sh.multimedia.zones())[2:].zfill(8)

    Zitat von henfri Beitrag anzeigen
    Und noch eine Frage: Der Verstärker (TEAC AG980 angeschlossen über das MDT-Multimedia-Interface) sendet leider nicht von sich aus Updates. Ist es möglich, dass beim Lesen eines Objektes vorher ein "Event-Request" (eine 1 auf einer GA) ausgelöst wird?
    Ich verstehe die Frage leider nicht. Was meinst Du mit lesen eines Objektes? Du kannst mit dem KNX-Plugin groupreads absetzen. Ist es das?

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    danke für deine Antwort.
    Noch klappt's nicht:
    Code:
    2013-05-26 11:20:09,454 ByteToBit    WARNING  Logic: ByteToBit, File: bytetobit.py, Line: 2, Method: <module>, Exception: object cannot be interpreted as an index -- scheduler.py:_task:273
    2
    Code:
    root@HomeServer:~# cat /usr/local/smarthome/logics/bytetobit.py
    #!/usr/bin/env python
    bits = bin(sh.multimedia.zones)[2:].zfill(8)
    sh.multimedia.zoneAactive=bits[0]
    sh.multimedia.zoneBactive=bits[1]
    sh.multimedia.zoneCactive=bits[2]
    sh.multimedia.zoneDactive=bits[3]root@HomeServer:~#
    root@HomeServer:~# cat /usr/local/smarthome/items/multimedia.conf
    [multimedia]
      [[zones]]
        type=num
        cache=on
        enforce_updates=on
        knx_dpt = 5
        knx_send = 9/1/55
        knx_listen = 9/1/55
        knx_init = 9/1/55
      [[zoneAactive]]
        type=bool
        cache=on
        enforce_updates=on
        knx_dpt = 1
        knx_send = 9/1/56
      [[zoneBactive]]
        type=bool
        cache=on
        enforce_updates=on
        knx_dpt = 1
        knx_send = 9/1/57
      [[zoneCactive]]
        type=num
        cache=on
        enforce_updates=on
        knx_dpt = 1
        knx_send = 9/1/58
      [[zoneDactive]]
        type=num
        cache=on
        enforce_updates=on
        knx_dpt = 1
        knx_send = 9/1/59
    
    
    root@HomeServer:~# cat /usr/local/smarthome/etc/logic.conf
    #[MyLogic]
    #    filename = logic.py
    #    crontab = init
    
    [ByteToBit]
         filename=bytetobit.py
         watch_item=multimedia.zones
    Hab ich etwas falsch verstanden, beim Umsetzen?
    i in deinem Beispiel ist doch der Integer (ist übrigens ein KNX-DPT5).


    Und noch eine Frage: Der Verstärker (TEAC AG980 angeschlossen über das MDT-Multimedia-Interface) sendet leider nicht von sich aus Updates. Ist es möglich, dass beim Lesen eines Objektes vorher ein "Event-Request" (eine 1 auf einer GA) ausgelöst wird?


    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    woher kommt denn das Byte? Über KNX? Als welcher DPT?

    Das sollte man einfach über eine Logik hinbekommen.

    Angenommen der Wert liegt als Integer (i) vor:

    Code:
    bits = bin(i)[2:].zfill(8)
    Output0=bits[0]
    Output7=bits[7]
    Und Parameter übergibt man Plugins über die Attribute in der plugin.conf.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    hat ein Thema erstellt byte to bits plugin

    byte to bits plugin

    Hallo,

    ich möchte eine Byte Variable in einzelne Bit umwandeln.

    aus Input=5 wird also
    00000101

    Output0=1
    Output1=0
    Output2=1
    Output3=0
    Output4=0
    Output5=0
    Output6=0
    Output7=0

    Geht das ohne plugin?

    Ansonsten (falls nur mit Plugin):
    Ich habe noch nicht kapiert, wie man einem Plugin Parameter übergibt?

    Gruß,
    Hendrik
Lädt...
X