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(1hinein (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 enoceanStick TX ID configured via plugin.conf to0xfffaec80     2016-12-29 21:57:18 INFO Main enoceaneep-parser instantiated     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.BLS listens to id 0193CD82 with eep A5_20_04 key BLS     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.CP listens to id 0193CD82 with eep A5_20_04 key CP     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.TS listens to id 0193CD82 with eep A5_20_04 key TS     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.FT listens to id 0193CD82 with eep A5_20_04 key FT     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.TMP listens to id 0193CD82 with eep A5_20_04 key TMP     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.FC listens to id 0193CD82 with eep A5_20_04 key FC     2016-12-29 21:57:32 INFO Main enoceanitem Bad.hora.STATUS listens to id 0193CD82 with eep A5_20_04 key STATUS     2016-12-29 21:58:10 INFO enocean-startup enoceanresetting device     2016-12-29 21:58:10 INFO enocean enoceanReset returned code OK     2016-12-29 21:58:10 INFO enocean-startup enoceanrequesting id-base     2016-12-29 21:58:11 INFO enocean enoceanBase ID 0xfffaec80     2016-12-29 21:58:11 INFO enocean enoceanRemaining write cycles for Base ID 10     2016-12-29 21:58:11 INFO enocean-startup enoceanrequesting version information     2016-12-29 21:58:11 INFO enocean enoceanChip ID 0x0080f5d9 Chip Version 0x454f0103     2016-12-29 21:58:11 INFO enocean enoceanAPP version 2.10.0.0 API version 2.5.0.0 App description GATEWAYCTRL     ...     2016-12-29 22:40:31 INFO Main enoceansending learn telegram for radiator valve     2016-12-29 22:40:46 INFO Main enoceansending learn telegram for radiator valve     2016-12-29 22:41:13 INFO Main enoceansending learn telegram for radiator valve     2016-12-29 22:41:33 INFO Main enoceansending learn telegram for radiator valve     2016-12-29 22:42:02 INFO Main enoceansending learn telegram for radiator valve     2016-12-29 22:47:38 INFO Main enoceansending 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:
        enoceanradio messagechoice a5 payload = [0x800x200x450x80] / sender_id 0193CD82 status repeat 
      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 

      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