Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten zwischen onewire und KNX austauschen

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

    Daten zwischen onewire und KNX austauschen

    Gemäß dem KNX-Binding Wiki sollte es einfach möglich sein, Daten zwischen Bindings auszutauschen.
    Code:
    Number HumiBad "Luftfeuchtigkeit Bad [%.1f %%]"  <humidity> (gBad,gHumidity) { onewire="deviceId=26.D0E356010000;propertyName=humidity;refreshinterval=120", knx="5.001:1/4/33" }
    Diese Item-Definition sollte dazu führen, dass die Luftfeucht Bad auf die GA 1/4/33 geschrieben wird. Es passiert aber nix.
    onewire aktualisiert den Wert alle 2 Minuten, am eibd kann ich jedoch nichts lesen und auch mein KNX Monitor sieht nichts auf der GA.
    Was mache ich falsch?

    #2
    Hi,

    Du siehst also Log-Einträge der Art

    Code:
     [FONT=Monaco][SIZE=11px]00:05:02.198 [INFO ] [runtime.busevents             :27   ] - Temperature_FF_Bath state updated to 18.8[/SIZE][/FONT]
      [FONT=Monaco][SIZE=11px]00:05:02.200 [INFO ] [runtime.busevents             :27   ] - Temperature_FF_Office state updated to 21.8[/SIZE][/FONT]
      [FONT=Monaco][SIZE=11px]00:05:02.201 [INFO ] [runtime.busevents             :27   ] - Temperature_FF_Child state updated to 19.3[/SIZE][/FONT]
      [FONT=Monaco][SIZE=11px]00:05:02.202 [INFO ] [runtime.busevents             :27   ] - Temperature_FF_Bed state updated to 18.2[/SIZE][/FONT]
    für das HumiBad Item? Kennst Du die OSGi Konsole? Ist das verhalten in Richtung KNX anders, wenn Du den State von HumiBad manuell (mit "openhab update HumiBad 33") änderst?

    Gruß, Thomas E.-E.
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar


      #3
      Hallo Thomas,
      ich muss gestehen, ich habe mit der OSGi Konsole noch überhaupt nicht gearbeitet. Ich weiß, dass diese Konsole gestartet wird, wenn ich OH im Debug-Modus laufen lasse, allerdings wird die Konsole dann so mit Log-Meldungen bombardiert, dass ich mich bisher an dieser Konosle überhaupt nicht versucht habe.
      Gibt es noch einen anderen Weg, die Konsole zu starten? Wo finde ich eine Anleitung, diese Konsole zu bedienen. Sorry, für die vielen Fragen ... bisher habe ich mich davor gedrückt, jetzt scheine ich mich doch mal damit beschäftigen zu müssen ;-)

      Zum eigentlichen Thema: ja, ich bekomme im Log die Updates meiner OH-Items. Wie sie sich verhalten, wenn ich die OSGi Konsole verwende, kommt bald ... (wenn ich Deine Hilfe zur OSGi-Konsole in Anspruch nehmen darf)

      Viele Grüße
      Michael

      Kommentar


        #4
        Die OSGi-Konsole wird eigentlich immer gestartet. Kommt halt daruf an, wie Du openHAB startest, ob Du sie zu Gesicht bekommst. Wenn Du die unveränderte start.sh (oder start.bat) aufrufst, solltest Du direkt auf der OSGi-Konsole landen. Alternativ kannst Du im Aufruf auch einen Telnet-Port angeben, dann kannst Du die OSGi-Konsole über Telnet erreichen. Allerdings tauchen dort keine Meldungen auf, weil die log-Ausgaben in der initialen OSGi-Konsole landen.
        Die Log-Einträge kannst Du auch in ./logs/events.log und ./logs/openhab.log finden, in events.log werden alle Bus-Events mitgeloggt, dort müsstest Du die Logeinträge sehen. Um den Befehl abzusetzen, reicht dann auch die Telnet-OSGi-Konsole, so Du sie eingerichtet hast.

        Ach ja, wenn Du die "normale" OSGi-Konsole verwendest, und nicht grad ein Testsystem mit nur ein oder zwei Items hast, werden die Logmeldungen fast immer Deine eingetippten Befehle "überlagern". Macht aber nichts, solange Du nur stur weiter tippst (oder Du tippst den Befehl woanders und fügst ihn in der OSGi-Konsole über die Zwischenablage ein...)

        Kommentar


          #5
          Genau, wenn du OH einfach stinknormal im Vordergrund startest, bist du automatisch in der Konsole. Normalerweise wird OH ja extra in den Hintergrund geschickt, damit das Terminal wieder zugänglich wird.

          Kommentar


            #6
            Also kann ich die Konsole während des normalen Betriebes nicht kontaktieren. Ich muss OH stoppen und im Vordergrund starten. Dann kann ich meine OSGi Befehle absetzen und wenn ich fertig bin, muss ich OH wieder normal (in den Hintergrund) starten. Korrekt?
            Ich hätte gehofft, ich mache einen Telnet auf Port xyz und ich habe meine Konsole ... wäre schön gewesen.

            Äh moment mal, udotoni schreibt, dass ich OH auch mit einem OSGi Port aufrufen kann und diesen dann per Telnet verbinden kann. Wie lautet denn der Aufruf konkret? Diese Option wäre mir eigentlich lieber, als OH immer wieder starten zu müssen.
            Nebenbei kann ich ja per tail die Logs mitlaufen lassen.
            Zuletzt geändert von staehler; 14.04.2015, 17:22.

            Kommentar


              #7
              Zitat von teichsta Beitrag anzeigen
              Hi,

              Du siehst also Log-Einträge der Art

              Code:
               [FONT=Monaco][SIZE=11px]00:05:02.198 [INFO ] [runtime.busevents :27 ] - Temperature_FF_Bath state updated to 18.8[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]00:05:02.200 [INFO ] [runtime.busevents :27 ] - Temperature_FF_Office state updated to 21.8[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]00:05:02.201 [INFO ] [runtime.busevents :27 ] - Temperature_FF_Child state updated to 19.3[/SIZE][/FONT]
              [FONT=Monaco][SIZE=11px]00:05:02.202 [INFO ] [runtime.busevents :27 ] - Temperature_FF_Bed state updated to 18.2[/SIZE][/FONT]
              für das HumiBad Item? Kennst Du die OSGi Konsole? Ist das verhalten in Richtung KNX anders, wenn Du den State von HumiBad manuell (mit "openhab update HumiBad 33") änderst?

              Gruß, Thomas E.-E.
              Hi Thomas,

              ich sehe in der OSGi Konsole auch nicht mehr, als die von Dir erwähnten updates, wenn ich ein manuelles Update durchführe. Auf dem KNX bewegt sich trotzdem nix. Jedenfalls sehe ich im ETS Busmonitor nichts und auch der eibd registriert nichts und die GA hat den Wert "0". Ich habe jetzt schon 100 Mal drüber geschaut und mit dem Wiki Eintrag verglichen, aber ich finde keinen Fehler in meiner Item-Definition. Mache ich was falsch oder funktioniert das Binding an der Stelle nicht korrekt?

              Im Übrigen habe ich eine ähnliche Item-Definition mit KNX und Squeezebox, wobei hier einwandfrei die Werte vom einen Binding zum anderen übergeben werden.
              Code:
              Switch sq_wohnen_power "Power"  <exit> (gPlayerWohnzimmer,gMultimedia) { knx="1/5/2+<3/5/2", squeeze="wohnen:power" }
              Hier sehe ich auch die entsprechenden Messages in der ETS.

              Viele Grüße
              Michael

              Kommentar


                #8
                Wie kann ich den Fehler eingrenzen? Liegt es am KNX Binding oder am onewire Binding?

                Kommentar


                  #9
                  Offenbar hab nur ich das Problem oder wer anderes nutzt das gar nicht.
                  Soll ich einen Bug eintüten im Github?

                  Kommentar


                    #10
                    Also, ich nutze die doppelte Bindung eines Items nur bei Uhrzeit und Datum, mit ntp und knx klappt es super, meine RTR zeigen die korrekte Zeit an.
                    Ein Versuch könnte sein, die Reihenfolge der Bindings zu tauschen, also knx zuerst, dann onewire.

                    Was passiert denn, wenn Du an der OSGI-Konsole openhab send HumiBad 33 eintippst und abschickst?
                    Eventuell wird nur das Update nicht korrekt durchgereicht?
                    Dann wäre es zumindest möglich, mit zwei Items und einer passenden Rule die Werte durchzureichen (also als Workaround).

                    Kommentar


                      #11
                      Wie schon oben erwähnt, bringt die Eingabe über OSGi auch nix. Die Datenübergabe von ntp auf KNX und von squeezebox auf KNX funktioniert bei mir auch. Daher vermute ich eher einen Fehler beim onewire binding. Aber das ist nur eine Vermutung.
                      Ich werde mal ein Issue aufmachen, da ich hier offenbar nicht weiterkomme.

                      Den Workaround mit der Rule wird vermutlich schon funktionieren, aber ich versuche hier dem Fehler auf die Spur zu kommen. Wenn es damit nicht klappt,, werde ich die Rules (es sind leider mehrere) wohl eibauen müssen.

                      Kommentar


                        #12
                        Zitat von staehler Beitrag anzeigen
                        Wie schon oben erwähnt, bringt die Eingabe über OSGi auch nix.
                        Du hast aber schon gesehen, dass ich einen anderen Befehl angegeben habe (send statt update)?
                        Daher vermute ich eher einen Fehler beim onewire binding.
                        Hast Du denn die Reihenfolge der Bindings mal getauscht wie von mir vorgeschlagen? Wie sieht es mit dem Konsolenbefehl aus, wenn Du das onewire-Binding aus der Item-Definition raus lässt?
                        Den Workaround mit der Rule wird vermutlich schon funktionieren, aber ich versuche hier dem Fehler auf die Spur zu kommen. Wenn es damit nicht klappt,, werde ich die Rules (es sind leider mehrere) wohl eibauen müssen.
                        Sind es nicht immer mehrere Rules?
                        Zuletzt geändert von udo1toni; 20.04.2015, 03:25.

                        Kommentar


                          #13
                          Hi,

                          leider ist mir gestern meine SSD im MacBook abgeraucht. Ich kann erst heute Abend wieder auskunftsfähig :-( Hoffentlich :-)

                          Bislang ist mir nicht bekannt, dass man in den Bindings etwas implementieren muss, damit der Austausch zwischen Bindings funktioniert. Ein Binding kann etwas zum Bus senden und etwas empfangen. Der Austausch zwischen Bindings wird wohl von OpenHab erledigt. Soweit mein Kenntnisstand.
                          @Thomas: Ist das so richtig, oder muss in den Bindings zusätzlich etwas implementiert werden?

                          Am Besten wären Ausschnitte aus Deinen Log-Files, zur Analyse. Anders kommen wir hier wohl nicht weiter. Ich habe keinen KNX-Bus und kann das nicht ausprobieren.

                          Du solltest im ersten Schritt den Log-Level für die Bindings OneWire und KNX in der logback.xml mal hochsetzen auf Debug.
                          <logger name="org.openhab.binding.knx" level="DEBUG" />
                          <logger name="org.openhab.binding.onewire" level="DEBUG" />

                          Wenn dann Daten vom OneWireBinding in den Bus geschrieben werden (siehe event.log), poste mal von dem Zeitpunkt die Einträge in den Dateien event.log und openhab.log.

                          Benutzt Du die aktuelleste Version der Vorversion des Bindings (https://www.dropbox.com/s/4r8ui8mgrg...304.jar?dl=0)?

                          Gruß
                          Dennis



                          Zuletzt geändert von Dennis650; 20.04.2015, 07:56.

                          Kommentar


                            #14
                            Doppelpost - gelöscht
                            Zuletzt geändert von Dennis650; 20.04.2015, 07:56.

                            Kommentar


                              #15
                              Hi Dennis,
                              ja, ich habe Dir bei Github #2369 geschrieben. Deinen o.g. Link konnte ich nicht öffnen, aber ich verwende das von Dir überarbeitet onewire Binding (individuelle timings, invert contacts, etc.).
                              Das hätte ich vielleicht hier erwähnen sollen, hatte aber erst nicht dran gedacht und den Fehler im KNX Bindung vermutet. Es könnte der Fehler aber auch im onewire Binding liegen oder speziell in Deiner Überarbeitung. Vielleicht findest Du ja Zeit, da drüber zu schauen. Danke schon mal!
                              Viele Grüße
                              Michael

                              PS: liegt an unserem Proxy, dass ich an Deinen o.g. Link nicht komme. Ich werde es zuhause mit der neuesten Version versuchen und mich hier wieder melden. Hast Du wohl etwas aktualisiert?

                              Kommentar

                              Lädt...
                              X