Ankündigung

Einklappen
Keine Ankündigung bisher.

Neue Library für rscp Kommunikation mit E3DC Speicher inkl. Kommandozeilen utility.

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

    #31
    bzgl. EMS_REQ_BATTERY_BEFORE_CAR_MODE:
    Das scheint in der Dokumentation was falsch zu sein (wieder einmal).
    Die Doku sagt der Datentyp is UChar8 (intern das gleiche wie uint8), das würde bedeuten er will ein "Wert" für die Abfrage... ist jedoch scheinbar nicht korrekt.
    Wenn ich das teste, und explizit den Datentyp mitgebe als "None" dann geht die Abfrage:
    Code:
    ./e3dc '[["EMS_REQ_BATTERY_BEFORE_CAR_MODE","None"]]'
    bzgl. EMS_REQ_SET_BATTERY_BEFORE_CAR_MODE:
    Bei mir gehen diese Requests, jedoch habe ich keine WB und daher kann das wiederum anders aussehen. Folgendes geht bei mir:
    Code:
    ./e3dc '[["EMS_REQ_SET_BATTERY_BEFORE_CAR_MODE",1]]'
    {"EMS_SET_BATTERY_BEFORE_CAR_MODE":255}
    ./e3dc '[["EMS_REQ_SET_BATTERY_BEFORE_CAR_MODE",0]]'
    {"EMS_SET_BATTERY_BEFORE_CAR_MODE":0}
    Je nach dem was du für ein Typ Batterie hast, kann es leider dann auch wieder anders aussehen.

    bzgl. WB_REQ_MODE:
    Du musst die Doku anschauen. WB_REQ_MODE muss immer in einem "Container" sein mit dem WB_INDEX.
    Beispiel:
    Code:
    ./e3dc '[["WB_REQ_DATA",[["WB_INDEX",0],"WB_REQ_MODE"]]]'
    {"WB_DATA":{"WB_REQ_MODE":"ERR_NOT_AVAILABLE","WB_INDEX":0}}
    Da ich keine WB habe, gibt er ein Error zurück. Aber zu mindestens scheint es syntaktisch korrekt zu sein und müsste so bei dir funktionieren.


    PS: mit "-debug 6" siehst du wo der Fehler passiert. z.B. wenn er nicht mal die Authentifizierung macht, dann ist es meist ein Parsing Problem mit dem Input. Wenn es nach "write"-Meldungen bei "read"-Meldungen knallt, ist es meistens das die Antwort von E3DC nicht richtig interpretiert werden kann.
    Leider ist das aufgrund der unterschiedlichen Gerätetypen und der schlechten Doku oft ein Try&Error.
    Einige Beispiele findest du auch in den Diskussionen auf Github.

    Kommentar


      #32
      Vielen Dank für die schnelle Rückmeldung.
      BATTERY_BEFORE_CAR_MODE und BATTERY_TO_CAR_MODE funktionieren jetzt. Mein Fehler war, dass ich die eckigen Klammern nicht doppelt gesetzt habe.
      Hier haben die einfachen eckigen Klammern gereicht: ./e3dc '["EMS_REQ_POWER_BAT"]'
      Das mit der Wallbox muss ich mal abends in aller Ruhe probieren.
      Nochmals vielen Dank.

      Kommentar


        #33
        Der von Dir genannte Befehl funktioniert:
        ./e3dc '[["WB_REQ_DATA",[["WB_INDEX",0],"WB_REQ_MODE"]]]'
        {"WB_DATA":{"WB_INDEX":0,"WB_MODE":128}}

        128 bedeutet hier Sonnenmodus.
        Ich habe versucht der Wert zu setzen, bekomme es aber nicht hin. Habe verschiedenes probiert:

        ./e3dc '[["WB_REQ_DATA",[["WB_INDEX",0],"WB_REQ_SET_MODE",128]]]'
        error: json unmarshal error: json: cannot unmarshal number into Go value of type rscp.jsonMessage

        ./e3dc '[["WB_REQ_DATA",[["WB_INDEX",0],["WB_REQ_SET_MODE",128]]]]'
        error: request input has always to be an in an array

        Habe noch die Einstellungen von "MarkusLa" gesehen. Das hier funktioniert zum einstellen der Ampere (zweiter Wert 16) aber nicht zum schalten des Sonnen-/Netzmodus (sollte erster Wert sein):
        ./e3dc '[["WB_REQ_DATA",[["WB_INDEX",0],["WB_REQ_SET_EXTERN",[["WB_EXTERN_DATA_LEN", 6],["WB_EXTERN_DATA", [1, 16, 0, 0, 0, 0]]]]]]]'
        {"WB_DATA":{"WB_INDEX":0,"WB_SET_EXTERN":0}}

        Ich komme nicht an die Umschaltung des Sonnen-/Netzmodus. Hättest du noch einen Tipp? Wäre mir egal ob über WB_SET_MODE oder WB_SET_EXTERN.
        Danke.

        Kommentar


          #34
          Ich möchte gerne die MAX_CHARGE_POWER setzen, komme aber irgendwie nicht weiter.
          Auslesen mit ./e3dc '["EMS_REQ_GET_POWER_SETTINGS"]' geht prima.
          Kann mir jemand einen Tip für das Kommando geben ?

          Kommentar


            #35
            Habe etwas herum probiert, da ich die Syntax noch nicht durchschaut habe. Das hier funktioniert bei mir:
            ./e3dc '[["EMS_REQ_SET_POWER_SETTINGS",[["EMS_MAX_CHARGE_POWER",12000]]]]'

            Kommentar


              #36
              Das Umschalten der Wallbox von Sonnenmodus in Netzmodus funktioniert doch mit dem von "MarkusLa" genannten Befehl.
              Ich dachte, weil beim Abfragen der Einstellung die 128 für Sonnenmodus und die 0 für Netzmodus kommt, müsste man diese Werte auch setzen.
              Setzen muss man aber 1 für Sonnenmodus und 2 für Netzmodus.
              So kann ich also umschalten:
              ./e3dc '[["WB_REQ_DATA",[["WB_INDEX",0],["WB_REQ_SET_EXTERN",[["WB_EXTERN_DATA_LEN", 6],["WB_EXTERN_DATA", [1, 0, 0, 0, 0, 0]]]]]]]'

              Kommentar


                #37
                Zitat von PBR Beitrag anzeigen
                Habe etwas herum probiert, da ich die Syntax noch nicht durchschaut habe. Das hier funktioniert bei mir:
                ./e3dc '[["EMS_REQ_SET_POWER_SETTINGS",[["EMS_MAX_CHARGE_POWER",12000]]]]'
                Danke, funktioniert prima

                Kommentar


                  #38
                  Hallo zusammen,

                  ich bin über spannende Diskussion gestolpert da ich ein sehr ähnliches Ziel wie PBR habe: ich möchte abhängig vom Ladezustand des Akkus und der Tageszeit die Wallbox-Ladepriorisierung umschalten. Dazu möchte ich perspektivisch Homeassistant nutzen wollen und habe auch Deine Anleitung dazu gesehen grandslam.

                  Leider komme ich nicht soweit. Ich bekomme keine Verbindung zu meiner S10X hin:
                  Code:
                  christopher@Ubuntu64-22:~/Workspace/e3dc$ ./e3dc -file ./e3dc.json
                  error: dial tcp 192.186.159.68:5033: connect: connection refused​
                  Was mich jetzt aber stutzig macht ist folgendes:
                  • die RCSPGui (https://github.com/rxhan/RSCPGui) kann eine Verbindung herstellen und die Daten auslesen. Daten abändern, z.B. den EMS_REQ_SET_BATTERY_BEFORE_CAR_MODE bekommt sie aber auch nicht hin und es ändert sich einfach nichts. Fehlermeldung, keine.
                  • ich habe mir mal die App my3E angeschaut. Sie nutzt meines Wissens auch RSCP und liest mir auch alle Werte korrekt aus. Werte abändern kann ich nicht testen da ich keine Premium-Version habe.
                  Daraus schlußfolgere ich, dass RSCP an der S10X grundsätzlich funktioniert und ich auch einen funktionierenden Key habe (in my3E ebenfalls eingetragen). Ich habe die Lib auf verschiedenen Linux-Systemen probiert und erhalte überall den gleichen Fehler. Firewall-Probleme schließe ich auch aus, da my3E im gleichen Netz funktioniert. Mehr als den Fehler oben sehe ich aus der Lib nicht.

                  Was übersehe ich? Habt ihr einen Tip für mich?

                  EDIT: ich habe gerade den Fehler festgestellt: beim PW-Manager-Password ist mir beim copy&paste ein Fehler passiert 🙈. Es ist mir aufgefallen, als ich ein blankes Linux hergenommen und von vorne begonnen habe. Ich bastele weiter
                  Zuletzt geändert von chrclaus; 05.04.2023, 23:08.

                  Kommentar

                  Lädt...
                  X