Ankündigung

Einklappen
Keine Ankündigung bisher.

OneWire Temp -> KNX mittels PaperUI

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

    OneWire Temp -> KNX mittels PaperUI

    Hallo zusammen,
    ich nutze OpenHabian in der letzten Snapshot-Version (2.4), das OneWire (2.3)- und knxd (2.3)-Binding.

    KNX-Binding funktioniert, ich kann Telegramme senden.
    OneWire funktioniert auch, ich kann Temperaturen auslesen.

    Jetzt möchte ich die Temperaturen (zyklisch / bei Änderung) an KNX senden.
    Grundsätzlich: Ist das per Config über PaperUI möglich? Ich finde nur Hinweise auf .items-Files.
    Habe aktuell die Things über PaperUI konfiguriert...

    Was ich bisher versucht habe:
    1. Thing für OneWire Temperatur angelegt
    2. Thing für KNX Temperatur angelegt
      1. Channel Typ "Number" mit der GA versehen
      2. Diese Channel ein "Linked Item" hinzugefügt - Den Channel aus dem OneWire Temperatur-Thing
    Das KNX-Thing wird als Offline angezeigt und nix an die GA gesendet...von der GA lesen geht auch nicht

    Wenn ihr sagt, "lass den Schmarrn mit PaperUI", ist eingeschränkt o. ä., kann ich damit leben, ich würde nur gern das Konzept hinter PaperUI verstehen...

    Danke schon mal!
    VG
    ...good byte...

    #2
    Ja, Du musst nur beide Channel auf das selbe Item verlinken, dann werden die Daten einfach durchgereicht. Voraussetzung ist allerdings, dass OneWire einen Befehl sendet, nicht nur ein Status Update. (Ich habe kein OneWire, weiß also nicht, wie sich das Binding verhält)
    Falls das nicht klappt, gibt es ein paar Punkte, an denen es hängen könnte:
    • falscher Channel Type bei knx2 (number statt number-control)
    • falscher DPT
    • Link funktioniert nicht (siehe oben)
    Wenn das direkte verlinken nicht klappt, bleibt der Umweg über eine Rule (Dummy-Code):
    Code:
    rule "update knx temperature"
    when
        Item myOneWireSensorItem received update
    then
        // calculate value to send
        myKnxNumberItem.sendCommand(calculated value)
    end
    Diese Rule ist natürlich nur Symbolischer Code...

    Kommentar


      #3
      Danke udo1toni !!!
      Hat soweit funktioniert...
      Falls mal jemand ähnliche Frage hat. Den Link des Kanals auf "Follow" stellen, dann sind die Channels auswählbar und danach wieder auf "Default" stellen - dann werden zyklisch die Daten auf den KNX-Bus gegeben.

      Noch ne Frage - wo stelle ich in PaperUI den DPT ein?
      Bei manchen scheint es automatisch zu stimmen (9.001 für Temperatur) bei anderen kommen 2Byte Raw-Daten?

      Und...ein KNX-Read funktioniert leider nicht - gibt's hierfür eine Möglichkeit? Rule o. ä.?
      Danke!
      ...good byte...

      Kommentar


        #4
        Was meinst Du mit "ein knx-Read funktioniert nicht"?

        openHAB2 sendet bei Systemstart an alle GA mit vorangestelltem < einen Read Request. Wenn beim übergeordneten Thing ein readInterval > 0 gesetzt ist, wiederholt openHAB2 das für die zugehörigen GA danach im angegebenen Intervall.

        Wenn Du die Gegenrichtung meinst, also ein knx-Gerät sendet einen Read Request und openHAB soll darauf antworten, das sollte mit der aktuellen Nightly Version funktionieren (vielleicht ist diese Änderung aber noch nicht gemerged...)
        openHAB wird ausschließlich auf Read Requests antworten, die auf die jeweils 1. GA eines Parameters gesendet werden, der zu einem *-control Channel gehört, also sowas hier:
        Code:
        Thing device generic "generisches knx Thing" []
        {
            Type switch-control : ch1 "Dummy Aktor" [ ga="1/1/1+1/2/1" ]
        }
        Der knx Schalter wird dann so parametriert, dass er auf 1/2/1 den Befehl sendet und auf 1/1/1 den Status empfängt. Wenn nun ein Read Request auf 1/1/1 gesendet wird, sollte openHAB2.4 darauf antworten.
        In diesem Fall tut openHAB so, als sei es selbst ein Aktor, per Definition hält ein Aktor auch den aktuellen Status und kann somit Read Requests beantworten.
        Die Notation in openHAB verhält sich genauso wie in ETS, auch dort wird ein knx Gerät immer ausschließlich auf der 1. einem Kommunikationsobjekt zugeordneten GA senden, aber (zusätzlich) auf allen anderen GA empfangen, falls das KO beschreibbar konfiguriert ist.
        Zuletzt geändert von udo1toni; 12.12.2018, 13:52.

        Kommentar


          #5
          Hallo zusammen,

          sorry das ich die alte Kamelle hier wieder ausgrabe aber ich komme hier grade nicht weiter.

          Ich habe ein Thing vom Typ KNX-Device ohne Adresse angelegt. Habe dem ein Channel mit dem DPT 9.001 und der zugehörigen GA angelegt natürlich ein Number-Control. Habe das Item vom OW verlinkt. Das stand erst auf Follow habe das dann auf Default geändert. Im PaperUI sehe ich auch wie im KNX Thing sich die Werte ändern es kommt aber nichts auf dem Bus an. Hab das auch mal im Diagnose verfolgt.
          Da ich ja ein Number-Control habe, habe ich auch mal versucht die Werte 'zu Fuß' zu ändern. Das funktioniert zwar auch aber auch hier kommt nix auf dem Bus an.

          KNX Switches etc funktionieren aber und ich bekomme auch Werte von KNX Temperatursensoren.

          Jemand eine Idee?

          Kommentar


            #6
            Wenn Du number-control als Channel Type verwendest, müsstest Du mittels Item.postUpdate(Wert) auf den knx Bus senden können. eventuell musst Du hier statt eines Links mit mehreren Items und einer Rule arbeiten.

            Kommentar

            Lädt...
            X