Ankündigung

Einklappen
Keine Ankündigung bisher.

Enocean Plugin: Hora Stellantrieb anlernen (A5_20_04)

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

    Enocean Plugin: Hora Stellantrieb anlernen (A5_20_04)

    Ich verzweifle etwas beim Versuch einen Hora Stellantrieb anzulernen. Ich habe es schon mal geschaft Werte des Antriebs zu empfangen, dafür ist aber nach meinem Verständnis auch kein Anlernen notwendig. Seitdem ich dann die base_id in die Config geschrieben habe, empfange ich auch nichts mehr (kann aber auch eine zufällige Korrelation sein).
    Laut readme wird mit sh.enocean.send_learn() angelernt, diesen Befehl gibt es aber im Plugin nicht mehr. Ich habe in der init.py dann "sh.enocean.send_learn_radiator_valve()" gefunden und dann sh.enocean.send_learn_radiator_valve(1), wenn ich den STellantrieb richtig verstehe hält er das Zeitfenster fürs Anlernen nur wenige Sekunden aufrecht, er beendet dann mit Fehler !53 (Laut Doku: Telegrammabruf fehlgeschlagen/ Verbindung zur Zentrale gestört).
    Im Log erscheint: enocean: sending learn telegram for radiator valve

    Muss vor dem Anlernvorgang in den Items der tx_id_offset und tx_eep richtig konfiguriert werden? Woraus ergeben sich die Werte?
    Kann es sein, dass ich durch die Eingabe der Base ID in der Plugin.conf auch keine Werte mehr empfangen kann?

    plugin.conf:
    PHP-Code:
    [enocean]
        
    class_name = EnOcean
        class_path 
    = plugins.enocean
        serialport 
    = /dev/ttyO4
        tx_id      
    = 0xfffaec80 
    item:
    PHP-Code:
      [[hora]]
            
    enocean_rx_id = 0193CD82
            enocean_rx_eep 
    = A5_20_04
                
    [[[BLS]]]
                    
    type = num
                    enocean_rx_key 
    = BLS
                
    [[[CP]]]
                    
    type = num
                    enocean_rx_key 
    = CP
                
    [[[TS]]]
                    
    type = num
                    enocean_rx_key 
    = TS
                    enocean_tx_eep 
    =  <--- was muss hier hin?
                    
    enocean_tx_id_offset =  <--- muss hier mein Offset wie in sh.enocean.send_learn_radiator_valve(1) hinein (also    1)?
                [[[
    FT]]]
                    
    type = num
                    enocean_rx_key 
    = FT
                
    [[[TMP]]]
                    
    type = num
                    enocean_rx_key 
    = TMP
                
    [[[FC]]]
                    
    type = num
                    enocean_rx_key 
    = FC
                
    [[[STATUS]]]
                    
    type = num
                    enocean_rx_key 
    = STATUS 
    relevantes aus dem Log:
    PHP-Code:
          2016-12-29 21:57:18 INFO Main enocean: Stick TX ID configured via plugin.conf to: 0xfffaec80     2016-12-29 21:57:18 INFO Main enocean: eep-parser instantiated     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.BLS listens to id 0193CD82 with eep A5_20_04 key BLS     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.CP listens to id 0193CD82 with eep A5_20_04 key CP     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.TS listens to id 0193CD82 with eep A5_20_04 key TS     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.FT listens to id 0193CD82 with eep A5_20_04 key FT     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.TMP listens to id 0193CD82 with eep A5_20_04 key TMP     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.FC listens to id 0193CD82 with eep A5_20_04 key FC     2016-12-29 21:57:32 INFO Main enocean: item Bad.hora.STATUS listens to id 0193CD82 with eep A5_20_04 key STATUS     2016-12-29 21:58:10 INFO enocean-startup enocean: resetting device     2016-12-29 21:58:10 INFO enocean enocean: Reset returned code = OK     2016-12-29 21:58:10 INFO enocean-startup enocean: requesting id-base     2016-12-29 21:58:11 INFO enocean enocean: Base ID = 0xfffaec80     2016-12-29 21:58:11 INFO enocean enocean: Remaining write cycles for Base ID = 10     2016-12-29 21:58:11 INFO enocean-startup enocean: requesting version information     2016-12-29 21:58:11 INFO enocean enocean: Chip ID = 0x0080f5d9 / Chip Version = 0x454f0103     2016-12-29 21:58:11 INFO enocean enocean: APP version = 2.10.0.0 / API version = 2.5.0.0 / App description = GATEWAYCTRL     ...     2016-12-29 22:40:31 INFO Main enocean: sending learn telegram for radiator valve     2016-12-29 22:40:46 INFO Main enocean: sending learn telegram for radiator valve     2016-12-29 22:41:13 INFO Main enocean: sending learn telegram for radiator valve     2016-12-29 22:41:33 INFO Main enocean: sending learn telegram for radiator valve     2016-12-29 22:42:02 INFO Main enocean: sending learn telegram for radiator valve     2016-12-29 22:47:38 INFO Main enocean: sending learn telegram for radiator valve 

    #2
    Hallo Marcov,

    lösche in der Plugin.conf bei der tx_ID die "0x".
    Hier Sollte nur die fffaec80 als Base ID stehen.

    Gruß
    jens

    Kommentar


      #3
      Danke - nun empfange ich wieder etwas:
      PHP-Code:
        enocean: radio message: choice = a5 / payload = [0x80, 0x20, 0x45, 0x80] / sender_id = 0193CD82 / status = 0 / repeat = 0 
      Das wird meines Erachtens nach gesendet, wenn ich den Lernmodus am Stellantrieb auslöse. Den vom Antrieb Gesendeten Anlernbefehl verwurstet der Parser dann zu Temperaturen, so ist dann z.B. FT = 30.03... da Hex20 (Payload 1)/255*30 + 20 =30.0392157

      Anlernen scheint aber nach wie vor nicht zu funktionieren (beendet mit Fehlercode !51).

      Ich bin im interaktiven Modus und löse aus mit:
      sh.enocean.send_learn_radiator_valve(1)

      Testweise habe ich mich direkt neben die Antenne gestellt, es sollte also nicht an der Reichweite liegen.

      was muss denn ins Item bei:

      PHP-Code:
      enocean_tx_eep = A5_20_04
      enocean_tx_id_offset 
      = 1 
      Zuletzt geändert von Marcov; 30.12.2016, 01:20.

      Kommentar


        #4
        kurzes Zwischenfazit nach Recherche in den Enocean Spezifikationen:

        Das Gateway muss innerhalb von 550 oder 1100ms auf den Anlernbefehl antworten - da das Plugin aber noch mit der Auswertung von selbigem Befehl beschäftigt ist, kann man da wild im interaktiven modus rumdrücken und schafft es nicht innerhalb der geforderten Zeit.
        Ist es möglich in den Parser eine Abfrage einzubauen, welche schaut ob ein Anlernbefehl ([0x80, 0x20, 0x45, 0x80]) gesendet wurde und darauf die entsprechende Antwort (welches ist dies?:self._send_radio_packet(id_offset, 0xA5, [0x00, 0x00, 0x00, 0x00]) geben?

        Kommentar

        Lädt...
        X