NEWS
[gelöst]simple-Api >3.0.0 funktioniert nicht mehr wie 2.8.0
-
Hallo, meine html-Datei zur Rotorsteuerung unter http://192.168.xx.xx:8082/0_userdata.0/Beamkarte/Beamkarte.html hat eine einzige Aufgabe:
Bei Tastendruck im Display den Wert des ioBroker objektes 0_userdata.0.direction mit einem neuen Wert zwischen 0 und 360 zu beschreiben.
Das wurde durch folgendes HTML-Statement seit ca. einem Jahr bis einschliesslich simple-Api 2.8.0 problemlos gemacht:
// sende die Himmelsrichtung an den ioBroker/mqtt-Server, um den Rotor enstprechend anzusteuern fetch(`http://192.168.xx.xx:8087/set/0_userdata.0.direction?value = ${encodeURIComponent(direction)}`, { method: "GET" }) .then(response => response.json()) // Antwort als JSON parsen .then(data => console.log(data)) // Daten verarbeiten .catch(error => console.error('Fehler:', error));Nach dem Update auf simple-Api 3.0.7 (getestet wurde auch 3.0.0, 3.0.5 mit dem gleichen NoGo) funktioniert dieser Aufruf nicht mehr.
folgende Fehlermeldung konnte ich in der Simulation mit Firefox erzeugen:

Was muss ich tun, damit's auch mit den neuen Versionen von Simple-Api wieder funktioniert?
WillyIoBrok
- Adaptername: simple-Api
- Link zu Adapterrepository: www.github.com...
- Adapterversion: >2.8.0
- js-controller Version: 7.07
- Admin Version: 7..7.22
- Hardwaresystem: Pi4
- Arbeitsspeicher: 8GB
- Festplattenart: SD-Karte
- Betriebssystem: RaspiOS
- Nodejs-Version: 20.20.1
- NPM-Version: 10.8.2
- Installationsart: Skript oder Manuell ?
- Image, Docker genutzt: Ja - Nein
- Ort, Name der Imagedatei: ...
-
Hallo, meine html-Datei zur Rotorsteuerung unter http://192.168.xx.xx:8082/0_userdata.0/Beamkarte/Beamkarte.html hat eine einzige Aufgabe:
Bei Tastendruck im Display den Wert des ioBroker objektes 0_userdata.0.direction mit einem neuen Wert zwischen 0 und 360 zu beschreiben.
Das wurde durch folgendes HTML-Statement seit ca. einem Jahr bis einschliesslich simple-Api 2.8.0 problemlos gemacht:
// sende die Himmelsrichtung an den ioBroker/mqtt-Server, um den Rotor enstprechend anzusteuern fetch(`http://192.168.xx.xx:8087/set/0_userdata.0.direction?value = ${encodeURIComponent(direction)}`, { method: "GET" }) .then(response => response.json()) // Antwort als JSON parsen .then(data => console.log(data)) // Daten verarbeiten .catch(error => console.error('Fehler:', error));Nach dem Update auf simple-Api 3.0.7 (getestet wurde auch 3.0.0, 3.0.5 mit dem gleichen NoGo) funktioniert dieser Aufruf nicht mehr.
folgende Fehlermeldung konnte ich in der Simulation mit Firefox erzeugen:

Was muss ich tun, damit's auch mit den neuen Versionen von Simple-Api wieder funktioniert?
WillyIoBrok
- Adaptername: simple-Api
- Link zu Adapterrepository: www.github.com...
- Adapterversion: >2.8.0
- js-controller Version: 7.07
- Admin Version: 7..7.22
- Hardwaresystem: Pi4
- Arbeitsspeicher: 8GB
- Festplattenart: SD-Karte
- Betriebssystem: RaspiOS
- Nodejs-Version: 20.20.1
- NPM-Version: 10.8.2
- Installationsart: Skript oder Manuell ?
- Image, Docker genutzt: Ja - Nein
- Ort, Name der Imagedatei: ...
@WillyIobrok sagte in simple-Api >3.0.0 funktioniert nicht mehr so wie bis 2.8.0:
Nodejs-Version: 20.20.1
Wird nicht der Grund sein, aber bring das dringend auf nodejs22. Die Version 20 erreicht dass Supportende in Kürze.
Einiob nodejs-updatesollte wohl mal so langsam drin sein...
-
Hallo, meine html-Datei zur Rotorsteuerung unter http://192.168.xx.xx:8082/0_userdata.0/Beamkarte/Beamkarte.html hat eine einzige Aufgabe:
Bei Tastendruck im Display den Wert des ioBroker objektes 0_userdata.0.direction mit einem neuen Wert zwischen 0 und 360 zu beschreiben.
Das wurde durch folgendes HTML-Statement seit ca. einem Jahr bis einschliesslich simple-Api 2.8.0 problemlos gemacht:
// sende die Himmelsrichtung an den ioBroker/mqtt-Server, um den Rotor enstprechend anzusteuern fetch(`http://192.168.xx.xx:8087/set/0_userdata.0.direction?value = ${encodeURIComponent(direction)}`, { method: "GET" }) .then(response => response.json()) // Antwort als JSON parsen .then(data => console.log(data)) // Daten verarbeiten .catch(error => console.error('Fehler:', error));Nach dem Update auf simple-Api 3.0.7 (getestet wurde auch 3.0.0, 3.0.5 mit dem gleichen NoGo) funktioniert dieser Aufruf nicht mehr.
folgende Fehlermeldung konnte ich in der Simulation mit Firefox erzeugen:

Was muss ich tun, damit's auch mit den neuen Versionen von Simple-Api wieder funktioniert?
WillyIoBrok
- Adaptername: simple-Api
- Link zu Adapterrepository: www.github.com...
- Adapterversion: >2.8.0
- js-controller Version: 7.07
- Admin Version: 7..7.22
- Hardwaresystem: Pi4
- Arbeitsspeicher: 8GB
- Festplattenart: SD-Karte
- Betriebssystem: RaspiOS
- Nodejs-Version: 20.20.1
- NPM-Version: 10.8.2
- Installationsart: Skript oder Manuell ?
- Image, Docker genutzt: Ja - Nein
- Ort, Name der Imagedatei: ...
@WillyIobrok Mögliche Lösungswege
Um das gewohnte Verhalten der Version 2.8.0 nachzubilden, darf der simple-api-Adapter in den Instanzeinstellungen nicht als Web-Extension markiert sein, sodass er wieder exklusiv seinen eigenen Port öffnet. Alternativ können Nutzer ihre bestehenden Skripte und Drittsysteme komplett so umstellen, dass sie die Befehle direkt über den Port des web-Adapters senden. -
hmmmm, ich denke, daß der simple-api Adapter bei mir nicht als Web-Extension markiert ist:

oder ?
-
hmmmm, ich denke, daß der simple-api Adapter bei mir nicht als Web-Extension markiert ist:

oder ?
@WillyIobrok probier es mal so
// sende die Himmelsrichtung an den ioBroker/mqtt-Server, um den Rotor enstprechend anzusteuern fetch(`http://192.168.xx.xx:8087/set/0_userdata.0.direction?value=${encodeURIComponent(direction)}`, { method: "GET" }) .then(response => response.json()) // Antwort als JSON parsen .then(data => console.log(data)) // Daten verarbeiten .catch(error => console.error('Fehler:', error)); -
wow - das war's ! :-)
Die zwei Spaces hat die neuere Version des simple-Api nicht mehr vertragen!
Vielen Dank für die Hilfe, mein Problem ist gelöst.
Ob das jetzt ein Bug im Adapter war?
Weiss ich nicht, kann ich nicht beurteilen... für mich ist das Thema abgeschlossen ...Grüße
WillyIoBrok
-
wow - das war's ! :-)
Die zwei Spaces hat die neuere Version des simple-Api nicht mehr vertragen!
Vielen Dank für die Hilfe, mein Problem ist gelöst.
Ob das jetzt ein Bug im Adapter war?
Weiss ich nicht, kann ich nicht beurteilen... für mich ist das Thema abgeschlossen ...Grüße
WillyIoBrok
@WillyIobrok sagte in simple-Api >3.0.0 funktioniert nicht mehr so wie bis 2.8.0:
Ob das jetzt ein Bug im Adapter war?
In älteren Versionen des Adapters (bis 2.8.0) wurde dieser unsaubere URL-Parameter offenbar toleriert oder stillschweigend bereinigt, weshalb es dort funktionierte
-
ok, bin ein C/C++ Programmierer gewesen, da waren solche Sachen nicht relevant. In HTML und javascript etc. bin ich ein Neuling und kenne mich nicht so gut aus.
vielen Dank nochmal.
-
ok, bin ein C/C++ Programmierer gewesen, da waren solche Sachen nicht relevant. In HTML und javascript etc. bin ich ein Neuling und kenne mich nicht so gut aus.
vielen Dank nochmal.
@WillyIobrok sagte in simple-Api >3.0.0 funktioniert nicht mehr so wie bis 2.8.0:
C/C++ Programmierer gewesen, da waren solche Sachen nicht relevant
deswegen hat man da auch gern mit Pufferüberläufen zu kämpfen die Sicherheitslücken verursachen. Insbesondere wenn man mehr Zeichen reinschreibt, als man vorher deklariert hat
:) -
ok, bin ein C/C++ Programmierer gewesen, da waren solche Sachen nicht relevant. In HTML und javascript etc. bin ich ein Neuling und kenne mich nicht so gut aus.
vielen Dank nochmal.
-
Du wirst lachen - obwohl ich rein gar nichts von “URL-Kodierung” verstehe, dachte ich ein paar Stunden vorher auch schon mal dran, den Versuch ohne die Spaces zu machen. Aber in meinen Augen war das halt eine Zuweisung mit Gleichheitszeichen …🤣 again what learned 😊
-
@WillyIobrok sagte in simple-Api >3.0.0 funktioniert nicht mehr so wie bis 2.8.0:
Nodejs-Version: 20.20.1
Wird nicht der Grund sein, aber bring das dringend auf nodejs22. Die Version 20 erreicht dass Supportende in Kürze.
Einiob nodejs-updatesollte wohl mal so langsam drin sein...
@Thomas-Braun sagte in [gelöst]simple-Api >3.0.0 funktioniert nicht mehr wie 2.8.0:
@WillyIobrok sagte in simple-Api >3.0.0 funktioniert nicht mehr so wie bis 2.8.0:
Nodejs-Version: 20.20.1
Wird nicht der Grund sein, aber bring das dringend auf nodejs22. Die Version 20 erreicht dass Supportende in Kürze.
Einiob nodejs-updatesollte wohl mal so langsam drin sein...
done :)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
