Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenHab und Wago Modbus

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

    OpenHab und Wago Modbus

    Hallo,ich brauch da mal einen Tip, ich möchte ein MW meiner wago lesen, kann mir da mal jemand ein Bespiel für das Item geben, das Binding ist mir schon klar...glaube ich...nur das ding mit high Word usw.
    da wäre ne Hilfe super. Im MW befindet sich eine Ganze Zahl Z.B. 3456 in der Sitemap sollte dann 34.56 angezeigt werden...bin noch ein JAVA Anfänger...:-)

    Number MyCounterH "My Counter high [%d]" (All) {modbus="slave3:0"}
    Ist in der OpenHab RT ein Word eigentlich auch 16 Bit ?

    LG Matze

    #2
    nichts geht mehr

    modbusoll=300

    modbus:slave4.host=192.168.1.150
    modbus:slave4.port=502
    modbus:slave4.id=1
    modbus:slave4.start=12288
    modbus:slave4.length=2
    modbus:slave4.type=holding

    das steht bei mir in der "openhab.default.cfg"

    Number ist_Temperature_Raum_1 "ist_Temperature_1 [%.1f °C]" <temperature> (ist_Temperature) {modbus="slave4:0"}

    das ist die item Zuordnung in der demo.items...
    am Router Blinkt auch der Port der Wago wenn die RT läuft
    bin nur irgendwie davon ausgegangen das in der Sitemap auch was angezeigt
    wird...zumindest 00000 oder so, das müßte ja zumindest im Merkerwort drin stehen....

    vlt hat ja noch jemand eine Idee

    Kommentar


      #3
      Hallo,
      wollte fragen, ob du schon eine Lösung gefunden hast?

      Ich bin gerade auch dabei, openHAB mit Wago750-841 zu testen. Aber leider bekomme ich keine Werte ausgelesen.

      org.openhab.binding.modbus-1.2.0.jar Datei liegt auch im addons Ornder

      Und in der openhab.cfg habe ich dies eingetragen:

      modbus:slave1.host=192.168.178.102
      modbus:slave1.port=502
      modbus:slave1.id=1
      modbus:slave1.start=0
      modbus:slave1.length=6
      modbus:slave1.type=holding

      In der item Datei steht auch nur dies drin:
      Group All
      Group Erdgeschoss (All)


      /* Wohnzimmer */
      Number ist_Temperature_Raum_1 "Aussentemperatur [%.1f °C]" <temperature> (Erdgeschoss) {modbus="slave1:0"}
      Number ist_Temperature_Raum_2 "Aussentemperatur [%.1f °C]" <temperature> (Erdgeschoss) {modbus="slave1:1"}
      Number ist_Temperature_Raum_3 "Aussentemperatur [%.1f °C]" <temperature> (Erdgeschoss) {modbus="slave1:2"}
      Number ist_Temperature_Raum_4 "Aussentemperatur [%.1f °C]" <temperature> (Erdgeschoss) {modbus="slave1:3"}
      Number ist_Temperature_Raum_5 "Aussentemperatur [%.1f °C]" <temperature> (Erdgeschoss) {modbus="slave1:4"}
      Number ist_Temperature_Raum_6 "Aussentemperatur [%.1f °C]" <temperature> (Erdgeschoss) {modbus="slave1:5"}
      Number Dimmer1 "Dimmer1 [%d]" (Erdgeschoss) {modbus="slave1:0"}

      Wenn ich einen Modbus Monitor auf'n Mac starte, sehe ich auch die richtigen Werte aber leider funktioniert dies nicht bei openHAB.

      Hast du oder jemand anderes eine Idee?

      Besten Dank
      Basti

      Kommentar


        #4
        Hallo Leute,

        wollte auch mal die Kommunikation mittels Modbus und Openhab und WAGO SPS testen.In der Doku zu dem Binding (https://github.com/openhab/openhab/w...us-Tcp-Binding) steht das nur Coils unterstützt werden, also nur digitale Zustände. Hat das mittlerweile wenigstens schon jemand hinbekommen?

        Viele Grüße

        Kommentar


          #5
          modbus - bei mir geht's jetzt ...

          Verwende openHAB 1.51 gegen einen Wago 750-849

          in CodeSys:

          VAR_GLOBAL
          myBit0 AT %MX0.0:BOOL;
          myBit1 AT %MX0.1:BOOL;
          myBit2 AT %MX0.2:BOOL;
          myBit3 AT %MX0.3:BOOL;
          END_VAR


          in openHAB wie in https://github.com/openhab/openhab/w...us-Tcp-Binding beschrieben:

          im openHAB config file:
          modbus:tcp.slave1.connection=x.x.x.x:502
          modbus:tcp.slave1.id=1
          modbus:tcp.slave1.start=12288
          modbus:tcp.slave1.length=4
          modbus:tcp.slave1.type=coil

          in *.items:
          Switch MySwitch0 "My Modbus Switch0" (ALL) {modbus="slave1:0"}
          Switch MySwitch1 "My Modbus Switch1" (ALL) {modbus="slave1:1"}
          Switch MySwitch0 "My Modbus Switch2" (ALL) {modbus="slave1:2"}
          Switch MySwitch1 "My Modbus Switch3" (ALL) {modbus="slave1:3"}

          ... und schon funktioniert read/write openHAB <-> Wago SPS per modbus.

          Kommentar


            #6
            Hallo,

            entschuldigt das ich dieses Thema wieder ausgraben muss..
            Ich habe dank diesem Thread den Modbus vorerst zum laufen bekommen, aber leider nur in der Schreibvariante.. Sofern ich die Merker in der SPS (750-880) verändere (True/False) wird dies nicht registriert. Auch wird in der Events.log und Openhab.log keine Meldung angezeigt.

            Zitat von mcw Beitrag anzeigen
            in CodeSys:

            VAR_GLOBAL
            myBit0 AT %MX0.0:BOOL;
            myBit1 AT %MX0.1:BOOL;
            myBit2 AT %MX0.2:BOOL;
            myBit3 AT %MX0.3:BOOL;
            END_VAR
            modbus.cfg
            ################################################## ###########
            poll=300
            tcp.slave1.connection=192.168.178.48:502
            tcp.slave1.id=1
            tcp.slave1.start=12288
            tcp.slave1.length=4
            tcp.slave1.type=coil

            tcp.slave1.username=admin
            tcp.slave1.password=wago
            ################################################## ###########


            modbus.items
            ################################################## ###########
            Switch MySwitch0 "My Modbus Switch0" (ALL) {modbus="slave1:0"}
            Switch MySwitch1 "My Modbus Switch1" (ALL) {modbus="slave1:1"}
            Switch MySwitch2 "My Modbus Switch2" (ALL) {modbus="slave1:2"}
            Switch MySwitch3 "My Modbus Switch3" (ALL) {modbus="slave1:3"}
            ################################################## ###########

            Danke schon mal vorab für eure Unterstützung.
            Grüße

            Kommentar


              #7
              Hallo Mr Simon95

              ich habe das gleiche Problem und komme nicht weiter.
              zuerst habe ich gedacht es liegt an dem < oder > Zeichen aber das war es bei mir nicht.
              Auszug Openhab Hilfe:
              Read-only items
              Number NumberItem "Number [%.1f]" <temperature> {modbus="<[slave1:0]"}
              Write-only items
              Number NumberItem "Number [%.1f]" <temperature> {modbus=">[slave1:0]"}

              Vielleicht hilft es dir ja weiter.

              Wenn du was herausgefunden hast lass es mich bitte wissen.

              Bis dann

              Kommentar


                #8
                Auf die Schnelle ist mir jetzt in der Binding-Beschreibung ein Parameter ins Auge gefallen: updateunchangeditems (pro slave konfigurtiert). true bewirkt, dass jeder erfolgreiche poll als update in openHAB landet, false bewirkt, dass nur Änderungen nach openHAB übertragen werden. Letzteres ist der default Wert.

                Es wäre also einen Versuch wert, diesen Parameter mal gezielt auf true zu setzen, um zu schauen, ob dann Änderungen in openHAB auftauchen (und dann eventuell einen Issue aufzumachen, dass das Binding sich falsch verhält, wenn der Parameter nicht auf true steht)

                Kommentar


                  #9
                  Hallo udo1toni,

                  ich habe das ausprobiert,
                  tcp.slave.updateunchangeditems=true bzw.
                  updateunchangeditems=true

                  Beides hat nichts gebracht.
                  In der Karaf Konsole tut sich nur was wenn ich die Variable in meiner Sitemap verändere.
                  Wenn ich die Variable auf der Wago bzw. meinem ModbusSlaveSimulator ändere passiert nichts, in der Karaf Konsole hat sich nichts geändert.

                  Gruß CJ
                  Zuletzt geändert von cjochum; 04.01.2018, 16:24.

                  Kommentar


                    #10
                    So,

                    habe es hinbekommen
                    Hier meine Config:
                    System : Openhabian V1.4.

                    *Modbus.cfg:

                    poll=1000
                    tcp.slave1.connection=192.168.1.xxx:502:60:0:0:50: 100
                    tcp.slave1.start=12288
                    tcp.slave1.length=4
                    tcp.slave1.type=holding
                    tcp.slave1.valuetype=uint16
                    tcp.slave1.updateunchangeditems=true

                    *items
                    Number Temp "Aussentemperatur [%.0f °C]" (ALL) {autoupdate="true",modbus="<[slave1:0]"}
                    Number Licht "Lichtstärke [%.0f Lux]" (ALL) {autoupdate="true",modbus="<[slave1:1]"}
                    Number Wind "Windstärke [%.0f m/s]" (ALL) {autoupdate="true",modbus="<[slave1:2]"}
                    Number Regen "Regen [%.0f Rain]" (ALL) {autoupdate="true",modbus="<[slave1:3]"}


                    *Sitemaps:

                    sitemap standard label="Main"
                    {
                    Frame label="Wetterstation"{
                    Default item=Temp
                    Default item=Licht
                    Default item=Wind
                    Default item=Regen
                    }
                    }

                    Gruß CJ

                    Kommentar

                    Lädt...
                    X