Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: Abfrage von Modbus TCP via Homeserver

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

    Du fragst die 6 ab mit int32 und rechnest es dann um. Ein Register bei Modbus sind 16bit, sprich er fragt bei int32 dann auch direkt 2 Register ab - und bei int64 würde er 4 abfragen.
    Da man dann aber die Register addieren muss (im Baustein) ist es dann wichtig die Einstellung "Endian" zu setzen.

    Bei allen Dingen kommt int zurück. Du kannst versuchen auch die Umrechnung vom Baustein zu nutzen. Sind es z.B. 0,1er Schritte setzt du den Multiplikator auf 0.1. Eigentlich sollte dann eine Kommazahl rauskommen, obwohl das Register INT ist.
    Viel Erfolg!

    Kommentar


      Hallo,

      hat jemand von euch schon versucht bei den Alfen Wallboxen die geladenen KWh abzufragen?
      Alfen gibt hierfür die Register 374-377 als float64 an.


      Alle anderen Register lassen sich bestens abfragen, aber beim 374 bekomme nichts sinnvolles gelesen... Im Edomi-Forum wird etwas von double im Zusammenhang mit float64 geschrieben. Das sagt mir aber leider nichts:
      https://knx-user-forum.de/forum/proj...87#post1811887

      Meine Einstellungen sehen so aus (gerade kein Auto angeschlossen ):

      Hat jemand von euch eine Idee, was ich falsch mache?

      VG Thomas

      Kommentar


        Zeig doch mal n Screenshot von deinem Baustein und hänge die Alfen Modbus Doku an. Letzte Firmware ist auf der Wallbox?

        Kommentar


          Gerne. Neuste Firmware ist drauf.

          Baustein.jpg
          VG Thomas
          Angehängte Dateien

          Kommentar


            Zwischenzeitlich klappt das Lesen und Schreiben der Register für die Wallbox. Die Register waren teilweise =0 und ich musste Sie mit den Werten beschreiben.

            Nun hänge ich nur noch an zwei Dingen. Dem Status und der Ladezeit.

            Modbus Doku 2.jpg

            Beim Status bekomme ich Ganzzahlen. 0=Standy 3=Lädt 5=Pausiert wäre das so korrekt oder muss ich in den einstellungen noch was ändern? Ich hätte das eher so erwartet: 10000=Aktiv 01000=Lädt usw
            Modbus Status.jpg

            Bei der Ladezeit kamen Werte wie 65535 zurück damit kann ich gar nichts anfangen.
            Modbus Ladezeit.jpg
            Schonmal danke für die Hilfe.

            Kommentar


              Sieht doch gut aus.
              Ladezeit wird ein uint32 sein, steht im Kommentar. Da du 100W schritte bekommst nimm einen Multiplikator von 0.1 und du bekommst am Ausgang kWh mit einer Kommastelle.

              Status ist richtig. Du bekommst es als Ganzzahl und zwar so wie Bits zu Dezimal umgerechnet. Hier nen uint16 nehmen und dann umrechnen. Das was du erwartest kommt da raus, aber in Computer- und nicht Menschsprech :-) (Binärsystem wird auf Dezimalsystem umgerechnet)

              Theoretisch gibst du den Wert einfach auf diesen Baustein und dann kriegst du deine Ausgänge (ungetestet):
              image.png
              (Mich wundert hier nur die Doku, da steht bei Bit8, dass das dem Wert 128 entspricht. Richtig wäre 255 - oder ich kapier ihn nicht).

              Alternativ Manuell rechnen. Bei 5 Bits sowas wie
              Eingang / 16. => Bit 5
              Eingang % 16 / 8 => Bit 4
              Eingang % 16 % 8 / 4 => Bit 3
              Eingang % 16 % 8 % 4 / 2 => Bit 2
              Eingang % 16 % 8 % 4 % 1 => Bit 1

              Könntest du mit dem Formula-Baustein aus dem Download machen. Ich würde aber den Byte-Umwandler zu erst testen.

              Kommentar


                Zitat von SvenB Beitrag anzeigen
                Sieht doch gut aus.
                Ladezeit wird ein uint32 sein, steht im Kommentar. Da du 100W schritte bekommst nimm einen Multiplikator von 0.1 und du bekommst am Ausgang kWh mit einer Kommastelle.
                Habe es auf uint32 geändert bekomme aber immer noch keine plausiblen Ergebnisse. Muss ich hier dann auch was umrechnen? Oder soll ich mal debug einstellen und hier posten?

                Zitat von SvenB Beitrag anzeigen
                Theoretisch gibst du den Wert einfach auf diesen Baustein und dann kriegst du deine Ausgänge (ungetestet):
                image.png
                (Mich wundert hier nur die Doku, da steht bei Bit8, dass das dem Wert 128 entspricht. Richtig wäre 255 - oder ich kapier ihn nicht).
                Danke! Der Baustein funktioniert und gibt mir für den Wert 3 die Bits 1 und 2 jeweils mit Wert 1 an. Ich habe mich aber dazu entschieden einfach die Dezimalzahlen als Grundlage für das setzen der verschiedenen Status zu nutzen.


                Kommentar


                  Das weiß ich nicht, ob die Werte plausibel sind, weil ich sie nicht sehe.
                  Du hast aber gesehen, dass du die Werte durch 10 Teilen musst? Daher mein Kommentar mit dem Multiplikator.

                  Sonst fragst du alles mit 16bit ab. Kannst du mal E8 auf 0 setzen und gucken, ob es dann passt?

                  Kommentar


                    Bei den Werten für kW und A habe ich den multiplikator gesetzt und das funktioniert auch wunderbar.

                    Bei den sekunden bekomme ich eine neunstellige Dezimalzahl die sich auch ändert. Ich versuche mal beides wenn ich wieder zuhause bin. Also einmal den Multiplikator setzen und das mit dem E8=0

                    Kommentar


                      Zitat von SirTom Beitrag anzeigen
                      Gerne. Neuste Firmware ist drauf.
                      Hat jemand von euch das Register 374 erfolgreich abgefragt bzw. einen Tipp für mich?

                      VG Thomas

                      Kommentar


                        Die meisten Problem liegen bei Multi-Register Formaten wie int32 oder float32/64 an der Endianess.

                        und hier steht in deiner Anleitung, dass alles in BigEndian stattfindet. Setze doch mal wie bei Hanni ersichtlich E8 auf 1!

                        Kommentar


                          Hallo,
                          da gibt es eine neue Wallbox von ABL, die eM4. Hat die schon jemand mit dem wunderbaren ModbusTCP Reader angesprochen? Wenn ja, würde mich mal interessieren ob es ging und wie die Registeradressen zu bilden sind. Mit der Anleitung hier komme ich nicht zurecht.
                          LG
                          Sylvio
                          Angehängte Dateien

                          Kommentar


                            Wer kauft denn noch ABL? Dachte die sind Pleite? - Bei so einer kryptischen Anleitung berechtigt.
                            Mit etwas durchgehen scheint es doch gangbar, oder? Was willst du überhaupt abfragen? keine 10 Nachrichten zuvor wurde auc hüber die Hex => DEC Umrechnung gesprochen.

                            image.png

                            Macht als Adresse 0x3001. Es müssen 6 Register abgefragt werden. Das heißt: 3001 => Phase 1; 3003 => Phase 2; 3005; Phase 3 - jewels der Strom in einer Auflösung von 0,1. Sprich Multiplikator auf 0,1 setzen.
                            0x3001 wäre Register 12289 ( https://bin-dez-hex-umrechner.de/ )
                            Und der Dauerbrenner E8: Parameters / Values whose content extends over more than one register are handled in big endian order (MSR first).
                            Ich vermisse nur die SlaveID in der Anleitung. Mal 0 oder 1 testen.


                            Danke für den Shelly Flood. Leider bringt Amazon die Akkus nicht, die ich bestellt habe. Hab mich sehr gefreit. War glaub ich erst die Zweite Schenkung von meiner Wishlist! )

                            Kommentar


                              Oh, ich dachte ich kaufe was Gutes . Welchen Twin-Lader mit 22kW sollte ich den besser nehmen? Kann ihn noch stornieren...

                              Also ich brauche:

                              1. die Monatsverbräuche in kWh für die Abrechnung an die Firma (Firmenwagen). Schlimmstenfalls nehme ich nur den Zählerwert (100x Zählerstand outlet in kWh) und automatisiere dann die Ablesung zu Monatsende.

                              2. Ferner möchte ich die max. Ladung einstellen, also reduzieren oder erhöhen können (W EMS-Vorgabe maximaler Strom für den outlet) um möglichst viel Sonnenenergie und wenig vom Netz in das Auto zu bekommen.

                              Die HEX-DEC-Umrechnung schaue ich mir mal an. Was ich nur gar nicht verstehe, dass es diese Startadresse 0x..00 zwei mal in der Anleitung gibt. Muss man irgendwo hochzählen? Wenn ja, blöd gemacht .

                              Gruß Sylvio

                              Kommentar


                                Keine Ahnung, falscher Thread!
                                Deine Adresse: Das ist ein Lückentext, wie in der Schule.

                                Kommentar

                                Lädt...
                                X