Code Monkey home page Code Monkey logo

go-echarger-api-v1's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go-echarger-api-v1's Issues

Fronius Wattpilot

Now that go-e was seemingly acquired by Fronius, and they released their own version of the go-eCharger, will there be any furthere development of the firmware and the API documentation here? Or are the support and API going to be integrated into the Fronius ecosystem?

Fronius Wattpilot

Signalstärke WLAN über API

Ich habe inzwischen einige charger installiert und nutze selber drei. Oftmals war eine schlechte WLAN Verbindung Ursache für Fehler. Wäre es möglich die Signalstärke des WLAN mit auf die API zu legen?

Genauigkeit 'eto'

Hallo,

der Wert 'eto' ist beschrieben als:
energy_total: Gesamt geladene Energiemenge in 0.1kWh - Beispiel: 130 bedeutet 13kWh geladen

Ich habe festgestellt, dass der Wert immer nur ganze kWh liefert, die letzte Stelle also immer eine '0' ist.
Ist das so beabsichtigt?

Hintergrund:
Ich betreibe eine Konfiguration mit OpenWb, diese errechnet die geladene Menge pro 5 Minuten anhand der Differenz der gesamt geladenen Energiemenge. Durch die niedrige Auflösung des Wertes habe ich bei der geladenen Menge große Ausschläge und die Grafik ist schwierig abzulesen.

Viele Grüße
Christian

Wie kann ich die Ladung über API komplett stoppen

Hallo @peterpoetzi,
danke für die Dokumentation!
Soweit ich verstanden habe kann ich meinen PV geführte Ladung über API und setzen der "amx" Werte regeln.

Wie ist es aber möglich, dass ich die Ladung komplett stoppe (z.B. nachts oder während eines gewitters)? Dazu habe ich keine wirkliche Lösung gefunden. Wesentlich wäre, dass ich den go-e nicht so blockiere, dass ich irgendwas an einer SW machen muss.

Mir schwebt folgendes vor: Wenn ich den go-e auf einen Wert < 10 A stelle und das Auto anschließe, erkennt das die SW und steuert PV geführt (Überschussladen). Wenn kein Überschuss auf der PV mehr ist, schalte ich den Ladevorgang auf 0 (keine Ladung). Habe ich wieder einen Überschuss geht es weiter (z.B. nächster Tag). Will ich fahren klemme ich das Auto ab und go-e ist wieder im Normalzustand (insbesondere muss ich nicht manuell Aktivieren).

Kann ich bedenkenlos (insb. ohne den Flash auf Dauer zu ruinieren) die Farbe der LEDs ändern, wenn ich im PV geführten modus lade?

Danke für die Antwort.

Grüße

MQTT client ID

I'm currently trying to configure the go-E Charger to make use of our local MQTT server, and it works fine, I can configure server, username, password and wallbox tries to connect.
Unfortunately I need to know the MQTT client ID the box is using for accepting the client, and the wallbox currently uses in my case go-eCharger:XXXXXX:16 as client ID (where XXXXXX as the serial number).

Where does the 16 at the end come from? Is this the rbc value?

Number of last scanned RFID card

Thanks for the nice API!

Would it be possible to access the number of the last scanned RFID card from the API? Currently, uby contains the last scanned RFID card if the card is known to the charger. I would like to control/monitor access using the API (http or mqtt), and thus it would be very helpful to see any card read, not only if the card is known to the charger already. Could be either in uby or in a new field.

Best regards,
Stefan Sommer

RFID beim Überschussladen

Ich habe folgendes Problem. Zwei meiner Charger sind draußen, sind also so eingestellt, dass man sie mit RFID freischalten muss.

Nun habe ich das PV Überschussladen so realisiert, dass ALW die Box ein und ausschaltet. Dann würde sie aber auch freigeschaltet werden durch den Befehl wenn sie nicht vorher durch RFID freigeschaltet wurde.

Gibt es irgendwo ein Objekt welches ich dazu abfragen kann? Also RFID schaltet frei und wenn das Auto abgezogen wird ist die Box wieder gesperrt.

Habt ihr da Ideen?

Feature Request: 1-phase charging

Thank you for creating the api!

It would be great if I could choose on how many phases (1-3) I want to load my car. Is it even possible hardware-wise or do I have to figure out something else?

cURL: Operation timed out

Hi there,
we've three go-e charger for our students home.
To manage the wallboxes and charging activity we poll each wallbox every 5 minutes with cURL.

In some cases (about 2 of 5 times) we get an Operation timed out error.
URL:http://192.168.50.13/statusError:Operation timed out after 4062 milliseconds with 948 out of 1145 bytes received
URL:http://192.168.50.14/statusError:Operation timed out after 5000 milliseconds with 0 bytes received

Why does the wallbox stop transfering data?
How can this be fixed?

Thanks
Daniel

How to decrypt api response

Hi,

when I use E2E-encryption and try to access the status via the cloud api, I get an encrypted response.

How can I decrypt it? Does anyone have an example for doing this with the crypto package of nodejs?

When I try the following decrypt method, I always get an error "ERR_CRYPTO_INVALID_IV".
hash.iv contains status.iv from the response and hash.content contains status.aes.

const algorithm = 'aes256';
const secretKey = '*secret-passphrase*';

const decrypt = (hash) => {
    const decipher = crypto.createDecipheriv(algorithm, secretKey, Buffer.from(hash.iv, 'hex'));

    const decrypted = Buffer.concat([decipher.update(Buffer.from(hash.content, 'hex')), decipher.final()]);

    return decrypted.toString();
};

TXI without description

Hallo Peter,

ich habe für die Home Automation einen Adapter erstellt und bin darauf gestoßen, dass mir ein Attribut "TXI" übermittelt wird. Hierzu habe ich aber keine Informationen gefunden.

MK-2001/ioBroker.go-e#5

Verrätst du mir was damit gemeint ist?

Noch eine weitere Frage: Mir würde es etwas bringen, wenn die Dokumentation als Manual.md "Markdown" Dokument zur verfügung steht. Kann ich diese für dich konvertieren und als Pol-Request einstellen? Oder lehnst du die Doku als Markdown generell ab? Dann mache ich mir die Mühe nicht. ;-)

Gruß
Marcus

check if new firmware available

is there any possibility to check for new firmware updates besides using the official app while connected via cloud?
I would like to implement a check in my home assistant that i get notified when a new update for the charger is available.

Neuer Parameter "amx" nicht im Status oder Set-Antwort

040 ist jetzt für alle freigegeben

Leider wird "amx" nicht im Status zurückgegeben.... der Wert von amx kommt bei mir in der Antwort aber als "amp" zurück. Ist bei mir allerdings kurz darauf wieder auf Stand des alten "amp" - denke aber das liegt an meinem code (?)

RST,ACK nach /status Abfrage führt zur Endlosschleife

Hi there,
Ich würde gerne meinen e-go Charger per PHP curl abfragen.
Rufe ich jedoch die mittels die curl http://1.1.1.1/status auf, laufe ich stets in einen Timeout-Error.

Mit Wireshark habe ich gesehen, dass cURL sich hier in einer Dauerschleife befindet.
Der Grund ist wohl ein RST,ACK seitens e-Go zu meinem Webserver nachdem die Website ausgeliefert worden ist:
grafik

Rufe ich die Status-Website mit dem Firefox auf, sehe ich auch das RST,ACK Paket, jedoch wird dies wohl ignoriert.

Documentation is missing details or confusing about REST API

  1. What HTTP method is needed to change a parameter ? POST, PUT or PATCH ? At page 13 it is mentioned that Method is SET. However, this is not a HTTP method so I assume it just refers to what is possible to do with parameters (in this case, setting a new value).
  2. From the example, it doesn't seem like there is a way to change multiple parameters at once in the same HTTP request. Is there by chance a way ?
  3. Regarding rate limiting: would the device answer with 429 "Too many requests" ?
  4. To change the load power it would be correct to write the request like this: http://x.x.x.x/mqtt?payload=amp=16 or maybe like this (multiple parameters at once): http://x.x.x.x/mqtt?amp=16&alw=1

Where is the value of tmp measured?

I have integrated our go-eCharger with this great integration into Home-Assistant.

The payload of the API deliveres the value of the field tmp. This is defined in the documentation as:

Temperature of the controller in °C

Today the value shows 4-6 °C. I am wondering where this tempature is measured, since my go-eCharger is mounted in my cellar room (in the heating room). The room is not so cold. The cable is plugged in and the main part of the cable is placed outside. Is it possible, that the temperature is measured somewhere in the cable?

Undocumented json fields

Firmware 0033. In the status API I have the following undocumented fields:

{ 
...
"tma": [57.50,48.13,52.0,78.12]
"amt": "23"
...
}

It would be great to have these added in a newer revision of the API doc

Local MQTT only available when Cloud activated?

Hi,

first of all thanks for the great product!

I am just setting up my go-e Charger and would like to use MQTT locally while disabling the cloud connectivity.
Firmware is 040.0 and my mosquitto requires user/password.

I noticed that I seem to only be able to connect to the local MQTT server (i.e. mcc = 1 and charger is publishing to mosquitto) as long as I have set cdi = 0, but I would actually like to disable the cloud connectivity.

Is there a way to achieve this?

Thank you!

Bitte neues Feature amx dokumentieren

Liebes Go-eCharger Team,

im Loxone-Wiki habe ich gelernt, dass es einen neuen Befehl amx gibt. Dieser setzt den Ladestrom auf den angegebenen Wert, ohne dass dieser permanent im EEPROM gespeichert wird.

Könnte Ihr das bitte entsprechend dokumentieren? Etwa welcher Wertebereich erlaubt ist (z.B. wenn der Stromzähler Werte gegen Null oder negativ (Netzbezug) liefert) und welche Frequenz der Werteänderung zu empfehlen ist.

Danke!

Correction necessary?

Die API ist nicht vollständig dokumentiert - folgende Punkte fehlen bzw. sind falsch:

tmp - immer "0", wurde durch das temperatur-array tma ersetzt

tma - array aller 4 Temperatursensoren in °C (z.B. [24.00,24.12,23.38,23.38])

amt - die maximale Amperezahl wenn diese durch die Temperatursensoren limitiert ist (bzw. "32" wenn es nicht limitiert ist)

txi - das transmit interface und in der Home+ immer "0"

Source: https://www.loxwiki.eu/pages/viewpage.action?pageId=72122962

Changing frequency of publishing MQTT messages

Is it possible via the API (or other means) to set the frequency how often MQTT message are published ? 5s seems to be a bit fast for me as I'm storing every value in a database, but there are not many changes within 5s. E.g for me 30s or 1 minute would be totally fine, too.

Writing MQTT value locally

Hi Thank you for this charger, it was missing in the market.
it seems i can only set values on the charger with modbus or http://x.x.x.x/mqtt?payload=
i am trying to publish a value to be set using this topic: "go-eCharger/serialnumber/cmd" or "go-eCharger/serialnumber/cmd/req" publishing a json formatted message like {"amp":"10"} but it has no effect.
Please advice

Eindeutiger hostname?

Hallo,

go-eCharger melden sich beim DHCP Server mit "go-echarger" als Hostname an. Der Hostname wird vom Router in den DNS eingetragen (machen vor allem viele Konsumer-Router so...), so dass ich über den Hostnamen die Wallbox künftig erreiche.
Problem: Ich habe zwei Geräte in der Garage hängen. Und beide fragen mit dem identischen Hostnamen beim DHCP eine IP an. Und der identische Name kollodiert dann in den DNS Einträgen. Mit der folge: Nur eins von den beiden Geräten erreiche ich per Hostname (der der zuletzt kam).
Ich müsste von Hand eigene Namen im DNS vergeben. Unschön, wo es doch dieses tolle Feature über den DHCP gibt...

Zwei Optionen wären vorstellbar:

  1. API-Kommando zum anpassen den Hostnamens: Dann kann man seinen gewünschten Namen selbst am Gerät eintragen.
  2. Default-Hostname um Seriennummer erweitern. z.b. "go-echarger-012345", dann wäre der Name wieder eindeutig.

Freue mich über Feedback.

DWS reset: Wie und wann?

DWS - geladene Energiemenge... nach welchem Muster wird der Zähler hier zurück gesetzt?
Hatte es jetzt schon, dass DWS quasi bis zum Ende des aktuellen Tags die letzte Ladung widerspiegelt, und ich hatte es schon, dass nach nicht mal 60sek nach abziehen des Ladekabels und beenden des Ladevorgangs DWS wieder 0 anzeigt.

Ich würde gerne verlässlich nach dem Ladevorgang aus der App heraus die geladene Energiemenge aufschreiben können (auch wenn ich nicht persönlich den Stecker gezogen habe), aber irgendwie scheint es ein Glückspiel zu sein wie lange DWS noch bestehen bleibt bevor es genullt wird.

Was genau löst den DWS reset nun aus?

Any ideas?

Fehler API V1 mit Hardware V3

Firmware "050":
Die Einheit von "dws" ist nicht mehr korrekt - ich vermute es sind nun 1/100 kWh, nicht mehr Dekawattsekunden. Ist das korrekt?

Welchen Wertebereich kann AMX haben?

Ich will den AMX-Wert mit Daten eines Stromzähler füttern, um abhängig vom momentanen Ertrag einer PV-Anlage zu laden.

Welchen Wertebereich kann AMX verarbeiten und wie wird mit Werten außerhalb des Bereiches umgegangen?

z.B. was passiert bei Werten unter 6A? Bei negativen Werten (kein Stromüberschuss sondern Einspeisung), bei Werten über 16 bzw. 32A? Geht der Charger außerhalb des Wertebereiches auf 'Standby' und macht weiter wenn wieder im Bereich, geht er komplett aus oder verbleibt er beim Min bzw. Max Wert?

API V1 mit Hardware V3

verzögerte Ausgabe des "amx"-Registers

17:08:21.169: http://.../status
17:08:22.233: "car":"2","amx":"6","amp":"6","err":"0","ast":"0","alw":"1"
17:08:22.388: http://.../mqtt?payload=amx=13
17:08:23.591: "car":"2","amx":"6","amp":"13","err":"0","ast":"0","alw":"1"
17:08:24.620: http://.../status
17:08:25.112: "car":"2","amx":"13","amp":"13","err":"0","ast":"0","alw":"1"

Auch ist die Antwortzeit der Wallbox relativ lang, allerdings gibt es hier beim Log 2 Apps gleichzeitig, die die Wallbox abfragen - die von go-e und meine.

Why are numbers represented as JSON string values ?

A lot of numeric values are presented as JSON string values like in

{
  "version": "B",
  "tme": "2808201703",
  "rbc": "18",
  "rbt": "607477507",
  "car": "1",
  "amp": "16",
  "err": "0",
  "ast": "0",
  "alw": "1",
  "stp": "0",
  "cbl": "20",
  "pha": "56",
  "tmp": "16",
  "tma": [
    24.12,
    23.5,
    24,
    23.62
  ],
  "amt": "32",
  "dws": "0",
  "dwo": "0",
  "adi": "1",
  "uby": "0",
  "eto": "780",
  "wst": "3",
  "txi": "2",
  "nrg": [
    216,
    218,
    216,
    1,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
  ],
  "fwv": "033",
  "sse": "014371",
...
  "loe": 0,
  "lot": 0,
  "lom": 0,
  "lop": 0,
  "log": "",
  "lon": 0,
  "lof": 0,
  "loa": 0,
  "lch": 10496
}

Why is this the case and could this be changed ? This "convention" makes it hard to import the data e.g. in InfluxDB with a Telegraf importer.

Please note that other values are presented as numbers like the nrg array.

Interestingly e.g. both loa and amp are described as of type uint8_t but one is represented as a JSON number the other as a JSON string. It should be at least consistent, preferably all numbers should be also JSON numbers.

MQTT sessionChargeEnergyLimit unterstützt keine Nachkommastellen

Feature Request:

In der App kann ich das sessionChargeEnergyLimit auf 1 Nachkommastelle festlegen.
Per MQTT wird das auf eine ganze Zahl gerundet, bzw die Nachkommastellen einfach abgeschnitten. (so wird 3,9kWh zu 3 kWh)
Wäre klasse wenn ihr das hier auch auf 1 Nachkommastelle ermöglicht :)

JSON-Value "tmp" für Temperatur zeigt komische wechselnde Werte

Hallo,

ich würde gerne die Temperatur anzeigen lassen. Dafür gibt es das Feld "tmp", welches die Temperatur (ich glaube des Chips oder des Boards) angeben soll.
Dieses zeigt bei mir meistens 0, wechselt aber auch gerne mal auf -15 oder 10.

Auf jeden Fall ist das nicht die Temperatur, die wirklich herrscht.

Liegt bei mir ein Hardware-Defekt vor, oder ist dieser Wert nur nicht korrekt ausgelesen und im JSON-String damit fehlerhaft?

Grüße
Reiner

Fehlende Angaben

Hallo zusammen,

ich komme leider mit der Modbusanleitung nicht klar. Hier fehlen doch Angaben unter welcher Adresse die Register zur Verfügung stehen, ob signed oder unsigned, 16bit oder 32bit.

Ich würde mich freuen wenn man die Anleitung etwas ausarbeiten könnte.

Frank

MQTT verbessern?

Schaue mir gerade Optionen für den lokalen MQTT an (geniales Feature!)

Ich sehe keinen Sinn darin, bei MQTT parallel zu Übermittlung der Einzelwerte noch einmal alle Werte als Array zu senden. Konkret: go-eCharger/XXXX/status. Zumindest hier zerhaut mir das die Anzeigen. Vielleicht seht Ihr das auch so und könnt das abschalten?

r1x

Ich verstehe etwas nicht: in der Doku steht, dass r1x für die HTTP V1 API zuständig ist:

r1x uint8_t Flags0b1: HTTP Api im WLAN Netzwerk aktiviert (0:nein, 1:ja)0b10: Ende-zu-Ende Verschlüsselung aktiviert (0: nein, 1: ja)

Wenn man nun diese ein- oder ausschalten will
Die go-e App 1 setzt "/mqtt?topic=req&payload=r1x=2"
Die go-e App 2.0 setzt "/mqtt?payload=r1x=2"

Die Verschlüsselung wird nicht aktiviert (zumindest ist alles weiterhin klar lesbar), und die HTTP-API "/status" ist immer, egal ob 0, 1 oder 2, verfügbar.

Button for own Use-Cases

Would it be possible to integrate the status of the Button into the API and to add an option "Disable Default-Action of Button", which makes the button do nothing and only report its status via api?
Then I could open my Tesla charge port by pressing the button on the wall charger, which would be awesome!

AMX-Wert darf nur Ganzzahlig (6..32) sein?

Hallo,

warum werden kein "Gleitkommazahlen" für AMX zugelassen?
Der PWM-Wert kann doch auch Zwischenwerte annehmen.
Das würde eine Regelung (z.B. nach PV-Überschuss) deutlich verbessern.

Momentan "verschenkt" man mindestens 0.5A*230V = 115W bei 1-phasigem Laden.
Bei 3-phasigem Laden sind es schon 345W.

Uwe

Mobus Datatypes

Hi,

ich beschäftige mich gerade mit der Modbus Schnittstelle.
Mit ist bei der Implementierung aufgefallen, dass nirgends der Datentyp der Register steht. Insbesondere ob U32 oder I32.

Viele Grüße,
Achim

Scheduler

Moin Peter,

kannst Du bitte den Scheduler genauer erklären? Was muss ich über welche Register einstellen - bei "sch" bekommt man einen codierten string, kann den aber auch nicht setzen (so interpretiere ich den letzten Satz), und die Angabe, wie man eine Timer-Steuerung einstellt, fehlt oder zumindest verstehe ich sie nicht... Datum, Zeit, ...? Wie funktioniert das?

Educated guess: Für Wochentage, Samstag und Sonntag kann man je 2 Zeit-Ranges definieren und diese in die undokumentierten Register r21, r31, r41 setzen. Kann man die über diese Register wieder auslesen? Was ist (im Beispiel-Encode/Decode-Code) "a", "p", und "n"? "all", "positive", negative"?

Dann als zweite Frage eines Kunden, dessen Wallbox "offen für alle" in einer Garage rumsteht: kann man irgendwie per Register einstellen, dass die Wallbox automatisch auf Ladestop ("alw"=0) geht beim Abhängen des Autos? Er möchte gern nachts die Ladung gestartet haben (Scheduler oder manuell), weil er nachts das Auto immer dran hängen hat, und automatisch abschalten lassen, wenn er wegfährt, damit niemand sich einfach an die Wallbox hängt und auf seine Kosten Strom nuckelt.

(und bei "ast" fehlt der Wert (3?) für den Scheduler)

Danke, Christian

Ist Eigenverbruach der Box in 'eto' enthalten?

Mich würde interessieren, ob der Eigenverbruach der Box in dem Parameter 'eto' enthalten ist, oder hier nur die abgegeben Energiemenge aufgeführt ist?
Hintergrund der Frage ist, dass Ich Abweichungen zwischen der App des Fahrzeuges und 'eto' feststelle.

Vielen Dank für eine Antwort

<ip>/status -> couldn't take api lock in 3s, please try again later

Wenn ich per Browser ("http://192.168.2.59/api/status") auf die Box zugreifen will (API V1 und V2, oder auch nur V2 enabled), bekomme ich bei der neuen Hardware als Antwort:

"couldn't take api lock in 3s, please try again later"

Per Volley (Android-Lib) bekomme ich Server Fehler 500 gemeldet.

Früher (TM) hat die Box auf "/api/status" geantwortet - Firmware "050". Jetzt habe ich hier eine "050.1", und der Zugriff klappt nicht.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.