Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Geschrieben

Hallo zusammen,

ich bekommen beim Aufruf über die node http request (sends HTTP requests and returns the response) http://10.0.0.1/charge_tracker/charge_log auf meinem Node-Red folgende Fehlermeldung "HPE_UNEXPECTED_CONTENT_LENGTH" bzw. "RequestError: Parse Error: Content-Length can't be present with Transfer-Encoding"

Laut RFC darf die Warp2 Charger Pro nicht Content-Length als Server senden.

Hinweis: Mittels curl funktioniert es.
Beispiel:  curl --digest --user ich:passwort --output charge.log http://10.0.0.1/charge_tracker/charge_log

Hinweis: In Node-Red nutze ich jetzt zur Ausführung die exec node mit der obige curl.

Hat jemand noch eine Idee wie ich es dennoch in Node-Red mittels node umsetzen kann?

Geschrieben
13 hours ago, AndyHandy said:

Laut RFC darf die Warp2 Charger Pro nicht Content-Length als Server senden.

Hm da habe ich gleich was gelernt, danke :) https://httpwg.org/specs/rfc7230.html#header.content-length sagt

Quote

A sender MUST NOT send a Content-Length header field in any message that contains a Transfer-Encoding header field.

Der Ladetracker benutzt Transfer-Encoding: Chunked damit der ESP nicht das ganze Ladelog gleichzeitig im RAM halten muss. Die Content-Length wird gesetzt, für den Fall dass das Log groß ist und die Netzwerk-Verbindung langsam. Dann kann der Download ein paar Sekunden dauern. Zumindest die Browser verstehen das und man bekommt eine sinnvolle Fortschrittsanzeige.

Da jetzt aber der Normalfall ist, dass man das Ladelog über das Webinterface runterlädt, dass die Binärdatei in Javascript noch in eine CSV umbaut, sieht man sowieso die Browser-Fortschrittsanzeige nicht. D.h. ich nehme das Setzen der Content-Length einfach raus, dann müsste es in Node-Red mit der nächsten Firmware auch funktionieren: https://github.com/Tinkerforge/esp32-firmware/commit/4b21a005257d08c44ac553315b744aff5da9532f

Geschrieben
  • Autor

 

23 hours ago, rtrbt said:

Da jetzt aber der Normalfall ist, dass man das Ladelog über das Webinterface runterlädt, dass die Binärdatei in Javascript noch in eine CSV umbaut, sieht man sowieso die Browser-Fortschrittsanzeige nicht. D.h. ich nehme das Setzen der Content-Length einfach raus, dann müsste es in Node-Red mit der nächsten Firmware auch funktionieren: https://github.com/Tinkerforge/esp32-firmware/commit/4b21a005257d08c44ac553315b744aff5da9532f

Klasse und vielen Dank für die schnelle Reaktion. Ich werde es dann testen und hier berichten😀

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.