Ankündigung

Einklappen
Keine Ankündigung bisher.

Aktiv vom Bus lesen

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

    Aktiv vom Bus lesen

    Hallo.

    Ich würde gerne mit openHab (1.4 hab ich im Einsatz) auch nach dem Start-up den Betriebsmodi von meinen RTRs lesen.
    Nun hab ich hier (Link) gelesen das das nicht geht.
    Der Thread ist ja von 2012, hat sich da mittlerweile was geändert?
    Wenn ja, wie geht das?
    Wenn nein, warum wird diese Funktion nicht zur Verfügung gestellt, denn generell ist vom Bus lesen ja möglich.


    Gruß,
    Manfred

    #2
    Hi,

    du kannst doch mit dem < Zeichen das Lesen veranlassen, sobald der Start erfolgt.

    Poste doch mal deine Items

    -Sascha

    Kommentar


      #3
      Das mit dem "<" weiß ich. Hab ich auch drin.

      Folgendes will ich machen:
      Die Betriebsmodi der einzelnen RTRs hab ich als Item.
      Außerdem, die gesammelten von Erdgeschoß und Dachgeschoß.
      Sowohl die einzelnen will ich steuern können über die Sitemap als auch die gesammelten (EG/DG).
      Außerdem hab ich Timer die zu bestimmten Uhrzeiten auf die EG/DG Items den gewünschten Betriebsmodi senden.

      Hier mal exemplarisch zwei Items:
      Code:
      Number BModi_EG_all "Heizung Betriebsmodi EG" (gEG) { knx="5.010:0/6/7" }
      Number BModi_EG_Bad "Betriebsmodi Bad [MAP(bmodi.map):%d]" (gEG_Bad, gBModi) { knx="<5.010:0/6/19"}
      Wenn der Timer feuert, über einen Zeitschalter oder manuell, werden allerdings die einzelnen in openHab nicht aktualisiert (BModi_EG_Bad), daher dachte ich lese ich die zyklisch aus um die Visualisierung zu aktualisieren.


      Manfred

      Kommentar


        #4
        Blöde Frage. Geht das nicht über eine lesende Gruppenadresse? So?

        Code:
        Number BModi_EG_all "Heizung Betriebsmodi EG" (gEG) { knx="5.010:0/6/7" }
        Number BModi_EG_Bad "Betriebsmodi Bad [MAP(bmodi.map):%d]" (gEG_Bad, gBModi) { knx="<5.010:0/6/19+5.010:0/6/7"}

        Kommentar


          #5
          Ne, haut das nicht hin.
          Sende ich ein byte auf die Gruppenadresse von BModi_DG_all (hab mir dafür einen Taster parametriesiert) gehen zwar alle RTRs in der Gruppe auf den Modi, nur bekommt openHab das nicht mit.
          Daher wollte ich die eben pollen.


          Manfred

          Kommentar


            #6
            Hast Du die RTR so parametriert, dass sie Änderungen am Modus auch auf den Bus senden? Ich schalte die Modi nur über openHAB oder direkt am RTR um, trotzdem kommt immer eine Statusmeldung vom RTR über den Bus zurück. Wobei ich mir nicht sicher bin, ob das Status-Telegramm auch kommt, wenn der neue Modus dem alten Modus entspricht, es also keine Änderung gibt.

            Ansonsten könntest Du den Taster auch als normalen Taster parametrieren und die Umschaltung per Rule in openHAB ausführen. Oder Du trägst die Gruppenadresse des Tasters zusätzlich als Statusadresse ein - kommt halt drauf an, wie Du das Ganze insgesamt gelöst hast.

            Kommentar


              #7
              vom RTR periodisch senden? Senden bei Änderung?

              Kommentar


                #8
                OK, glaube ich hab noch Verständnisprobleme.
                Was ist eine Statusadresse?

                OK, der Regler kann wohl zyklisch alle 30 Sekunden seinen Status senden als ein 1 Byte Objekt mit folgenden Infos:
                Bit 0: 1: Komfortbetrieb aktiv
                Bit 1: 1: Standbybetrieb aktiv
                Bit 2: 1: Nachtbetrieb aktiv
                Bit 3: 1: Frost-/Hitzeschutz aktiv
                Bit 4: 1: Regler gesperrt
                Bit 5: 1: Heizen; 0: Kühlen
                Bit 6: 1: Regler inaktiv (Totzone)
                Bit 7: 1: Frostalarm (T Raum ≤ + 5 °C)

                Hab jetzt eine weitere Gruppenadresse eingerichtet auf die er die sendet.
                Jetzt frag ich mich allerdings wie man das in openHab auf einen lesbaren Wert mapt bzw. wie man in einer Transformation durch eine Bitmaske den gewünschten Wert bekommt.


                Manfred

                Kommentar


                  #9
                  OK, aber um mal zum Ursprünglichen Thema zurück zu kehren.
                  Nach dem Start von openHab, z.B. aus einer Rule heraus, ist lesen eines Items (sowas wie readCommand(Item)) nicht möglich?


                  Grüße,
                  Manfred

                  Kommentar


                    #10
                    Hi,

                    Zitat von asrael Beitrag anzeigen
                    OK, aber um mal zum Ursprünglichen Thema zurück zu kehren.
                    Nach dem Start von openHab, z.B. aus einer Rule heraus, ist lesen eines Items (sowas wie readCommand(Item)) nicht möglich?


                    Grüße,
                    Manfred
                    Die Frage wurde schon mit der ersten Antwort (von kuschelganxta) beantwortet. Wenn du vor eine Gruppenaddresse das '<'-Zeichen stellst, wird an diese beim Start von OpenHAB ein Read-Request gesendet und ausgelesen. Natürlich muss diese Gruppenaddresse knx-seitig so parametrisiert sein, dass sie sich auch auslesen lässt, sonst kommt keine Antwort zurück.

                    Im konkreten Fall eines JUNG-Raumtemperaturreglers habe ich das so gelöst:

                    Code:
                    /* DG Bad Jung RTR */
                    Number ActualTemperature_DG_Bad         "Temperatur Ist [%.1f °C]"              <temperature>   (DG_Bad)        { knx="<5/2/21" }
                    Number OutSetpointTemperature_DG_Bad    "Temperatur Soll [%.1f °C]"             <temperature>   (DG_Bad)        { knx="<5/2/22" }
                    Number SetpointTemperature_DG_Bad       "Temperatur Soll [%.1f °C]"             <temperature>   (DG_Bad)        { knx="5/2/23" }
                    Switch ReglerSperren_DG_Bad             "Regler Sperren"                        <heating>       (DG_Bad)        { knx="5/2/24" }
                    Switch StatusReglerSperren_DG_Bad       "Regler Sperren Status"                 <heating>       (DG_Bad)        { knx="<5/2/25" }
                    Switch RTRActivator_DG_Bad              "Ein/Aus"                               <heating>       (DG_Bad)
                    Switch RTRPresence_DG_Bad               "Praesenz"                              <heating>       (DG_Bad)        { knx="<5/2/26" }
                    Switch RTRPresenceLock_DG_Bad           "Praesenztaster sperren"                <heating>       (DG_Bad)        { knx="<5/2/27" }
                    Gruß,

                    Wie gesagt, knx-seitig das Lesen-Flag setzen, falls notwendig.

                    thoern

                    Kommentar


                      #11
                      Hallo.

                      Zitat von thoern Beitrag anzeigen
                      Die Frage wurde schon mit der ersten Antwort (von kuschelganxta) beantwortet. Wenn du vor eine Gruppenaddresse das '<'-Zeichen stellst, wird an diese beim Start von OpenHAB ein Read-Request gesendet und ausgelesen.
                      Und in der Antwort hab ich geschrieben, dass ich das kenne und auch nutze.
                      Ich möchte zu jeder Zeit vom Bus lesen können und nicht nur beim Start von openHAB.
                      Der Code dafür existiert ja in openHAB daher verstehe ich nicht warum das nicht als API zur Verfügung gestellt wird.


                      Grüße,
                      Manfred

                      Kommentar


                        #12
                        Zitat von asrael Beitrag anzeigen
                        Hallo.



                        Und in der Antwort hab ich geschrieben, dass ich das kenne und auch nutze.
                        Ich möchte zu jeder Zeit vom Bus lesen können und nicht nur beim Start von openHAB.
                        Der Code dafür existiert ja in openHAB daher verstehe ich nicht warum das nicht als API zur Verfügung gestellt wird.


                        Grüße,
                        Manfred
                        Ok, dann gibt es vielleicht ein Verständnisproblem:
                        Es reicht, wenn eine GA einmal beim Starten gelesen wird. Danach bekommt OpenHAB es ja automatisch mit, wenn sich eine GA ändert.
                        Um den aktuellen Status abzufragen kannst du dann die state-Methode auf das Item anwenden:

                        Code:
                                       if (SteckdoseTerrasseSuedAutomatik.state == ON) {
                                                ...do something
                                        }

                        Kommentar


                          #13
                          Zitat von thoern Beitrag anzeigen
                          Ok, dann gibt es vielleicht ein Verständnisproblem:
                          Es reicht, wenn eine GA einmal beim Starten gelesen wird. Danach bekommt OpenHAB es ja automatisch mit, wenn sich eine GA ändert.
                          Hm, ja. Irgendwie bekommt das openHAB nicht mit. Kann auch gut sein, dass ich die Items nicht richtig konfiguriert habe.
                          Dafür werde ich aber vermutlich einen separaten Thread auf machen, sonst ist das in dem hier recht Irreführend.


                          Danke und Gruß,
                          Manfred

                          Kommentar

                          Lädt...
                          X