NEWS
Issues für Javascript-Adapter nur für neueste Beta
-
Aufgrund des Verlaufes der Diskussion in dem Thread ....
https://forum.iobroker.net/topic/38443/pegelwerte-fritzbox-6490-cable-auslesen/192?_=1720443448411
... habe ich mich motiviert gefühlt, einen Issue für den Javascript-Adapter zu öffnen.
Merkwürdig finde ich, dass man bestätigen muss, dass man das Problem auch mit dem neuesten Beta-Adapter reproduziert hat, damit der Issue anerkannt wird...
Auf der einen Seite kann ich verstehen, dass die Entwickler sich nicht mit "ollen Kamellen" beschäftigen wollen, die in der Beta-Version schon längst behoben sind.
Auf der anderen Seite ist es natürlich auch riskant, Beta-Versionen zu installieren, wenn man nur einen ioBroker zu Hause betreibt ... und den aus gutem Grund nur mit "stable Versionen"...
Zur Zeit wäre ich wirklich nur unter Bauchschmerzen bereit, die Beta zu installieren.
Möglichkeiten und Fragen:
-
Temporär das Beta des Adapters auf dem produktiven System installieren. Kann man da problemlos wieder zurück?
-
Ich habe einen alten Linux-Mint-Desktop-Rechner (hardware alt, mint aktuell), der ggfs. als temporärer Sparringspartner geeignet wäre ... Gibt es da eine Anleitung, wie man den iobroker installieren könnte, ohne ihn die ganze Zeit auf dem Desktop-System im Hintergrund laufen zu haben? Docker? LXC-Container?
Wenn ich einen zusätzlichen Test ioBroker LXC-Container auf meinem N3000 System aufsetze, wird das wohl eine ziemlich lahme Angelegenheit werden... -
auf einem iobroker Eine Javascript-Instanz aus dem stable Repository, eine aus dem Beta installieren - geht das?
-
-
@martinp sagte in Issues für Javascript-Adapter nur für neueste Beta:
Merkwürdig finde ich, dass man bestätigen muss, dass man das Problem auch mit dem neuesten Beta-Adapter reproduziert hat, damit der Issue anerkannt wird...
was ist daran merkwürdig?
hier werden reihenweise Issues gemeldet, von Usern, die noch mit sehr frühen Beta-Versionen unterwegs sind, obwohl es inzwischen mehrere Bugfixes in diversen Updates gab.
Betatesting ergibt nur Sinn mit der aktuell letzten Version.
@martinp sagte in Issues für Javascript-Adapter nur für neueste Beta:
Auf der anderen Seite ist es...
Nachvollziehbar.
Aber warum machst du es dann?@martinp sagte in Issues für Javascript-Adapter nur für neueste Beta:
Temporär das Beta des Adapters auf dem produktiven System installieren. Kann man da problemlos wieder zurück?
Natürlich!
-
@homoran Weil ich denke, dass es Mist ist, wenn ein neues Feature ausgerollt wird, und man dann keine Möglichkeit bekommt, den Fehler, der in der Stable-Version vorhanden ist zu melden.
Kann dazu führen, dass die Leute in den Hinterkopf bekommen "httpPost() und "httpGet() sind zu kompliziert, und ich verstehe die Dokumentation nicht, also nutze ich das nicht".
Die "request funktioniert nicht" Forumsbeiträge und die "Nachklapps" bzgl httpGet() und httpPost() sind ja Legion....
Kann man eigentlich parallel zwei Instanzen in unterschiedlichen Versionen des Javascript-Adapters laufen lassen: Zum Einen die Stable und zum Anderen die Beta, oder müssen das immer die gleichen Versionen sein?
-
@martinp sagte in Issues für Javascript-Adapter nur für neueste Beta:
@homoran Weil ich denke, dass es Mist ist, wenn ein neues Feature ausgerollt wird, und man dann keine Möglichkeit bekommt, den Fehler, der in der Stable-Version vorhanden ist zu melden
das klingt jetzt ganz anders!
ich weiß auch nicht wie die exakte Formulierung des Hinweises ist.
Möglicherweise eine Konditionalvernüpfung, die sich nur auf Betas bezieht.(oder du hast dich ggf. in den Beta-branch verlaufen)
-
@martinp sagte in Issues für Javascript-Adapter nur für neueste Beta:
Kann man eigentlich parallel zwei Instanzen in unterschiedlichen Versionen des Javascript-Adapters laufen lassen: Zum Einen die Stable und zum Anderen die Beta, oder müssen das immer die gleichen Versionen sein?
Nein, das geht nicht, auch nicht wenn du ein Master/Slave system hast, da die Instanzen miteinander quatschen und der erste dann den zweiten beendet, weil der ne andere Version hat..
@martinp sagte in Issues für Javascript-Adapter nur für neueste Beta:
Kann man eigentlich parallel zwei Instanzen in unterschiedlichen Versionen des Javascript-Adapters laufen lassen: Zum Einen die Stable und zum Anderen die Beta, oder müssen das immer die gleichen Versionen sein?
nein, ja!
Instanzen werden immer mit den Daten des Adapters erstellt. -
@homoran sagte in Issues für Javascript-Adapter nur für neueste Beta:
Nachvollziehbar.
Aber warum machst du es dann?tut er ja nicht, er hat 'nur' die Stable und kann deshalb das issue nicht melden. Und ja, das 'Problem' gibt es auch in der Beta, die Doku scheint mir da schlicht falsch zu sein. Ich werde was dazu schreiben wenn ich die Zeit finde
tldr;
Lt. Doku kann der 2. Parameter bei httpPost() auch ein Objekt sein, im Code muss dieser Parameter aber ein String sein -
@fastfoot bisher ist der Issue noch offen, trotzdem ich den Haken bei "beta auch betroffen" entfernt haben...
https://github.com/ioBroker/ioBroker.javascript/issues/1633
Das schrieb @mcm1957 dazu an den Issue ...
Please Test with current beta. Thats the pirpose of the check.
Otherwise the issue might be closed. -
@martinp ich hab was dazu geschrieben, das Problem ist die geringe Anzahl an devs die sich darum kümmern (können), da bleibt kein Spielraum für 2 Schienen für issues(beta vs stable). Ansonsten ist es speziell mit dem JS-Adapter nicht wirklich 'gefährlich' wenn man die Beta am Laufen hat
-
Ich habe das aktuelle Beta 8.6.0 installiert, und mein Tester-Script laufen lassen, dass die httPost-Aufrufe nach 'https://httpbin.org/post' schickt...
Das ist der relevante Schnipsel im Echo - Response auf die Version mit String
"form": { "lang": "de", "no_sidrenew": "", "page": "docInfo", "sid": "12345678", "xhr": "1", "xhrId": "all" }```
Dann habe ich das Pattern aus dem ersten Test als "Anregung" für den folgenden Code genommen habe...
httpPost('https://httpbin.org/post', { form: { 'lang': 'de', "no_sidrenew": "", "page": "docInfo", "sid": "12345678", "xhr": "1", "xhrId": "all", } }, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, }, (error, response) => { if (!error) { console.log('statusCode: ' + response.statusCode); console.log('data: ' + response.data); console.log('headers: ' + response.headers); } else { console.error(error); } });
Das Echo - Ergebnis sah so aus - sehr änlich dem Obigen.
"form": { "form[lang]": "de", "form[no_sidrenew]": "", "form[page]": "docInfo", "form[sid]": "12345678", "form[xhrId]": "all", "form[xhr]": "1" }, "h
Irgendwie scheint der Code das schon irgendwie einzulesen, nur scheint das Ergebnis nicht so ganz passend ...
Das Einfachste wäre wohl die DOKUMENTATION dem Verhalten anzupassen ...