Update funktioniert nicht / nothing to do...

Begonnen von F-Spezi, 26 November 2018, 01:13:52

Vorheriges Thema - Nächstes Thema

F-Spezi

Ne ne, Alles gut  8)
Update klapp jetzt wieder und der Rest ist auch vorher schon gut gelaufen...
... und was läuft, das bleibt ...
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland

Otto123

Was mich irgendwie wundert:
Zitatupdate list gibt nur 'http://fhem.de/fhemupdate/controls_fhem.txt' zurück
ZitatDie Möglichkeiten von Update habe ich schon getestet.
update check: nothing to do...
update force: nothing to do...

Ich hätte gedacht update force hätte genau dies machen müssen ->
update force http://fhem.de/fhemupdate/controls_fhem.txt

Eigenartig ... Ob da noch andere Schritte relevant waren?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

F-Spezi

#17
Ich bin durch die Beispiele in der Commandref https://fhem.de/commandref_DE.html#update darauf gekommen und habe mal
update check http://fhem.de/fhemupdate/controls_fhem.txt
mit positivem Ergebnis ausprobiert .
update force
hat vorher und anschließend immer noch nicht funktiniert, also habe ich mal beides kombiniert und siehe da... funktioniert.

Kann mich nun endlich wieder mit der anstehenden Einbindung meiner neuen Zigbee Komponenten befassen und die Verbindung zum UniFi Controller läuft dank dem Update auch wieder.
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland

Sky

Guten Abend zusammen ,

ich habe gerade diesen Post entdeckt .
Mein aktuelles Problem ist genau das gleiche


Downloading https://fhem.de/fhemupdate/controls_fhem.txt

fhem
nothing to do...
Downloading https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt

fhemabfall
nothing to do...


Die Lösungsanzätze  mit

update check http://fhem.de/fhemupdate/controls_fhem.txt


update force


und


update force http://fhem.de/fhemupdate/controls_fhem.txt


haben das Problem aber nicht gelöst .

Das Thema ist zwar schon über ein Jahr alt , aber vielleicht kann man mir trotzdem helfen ?

Danke

anvoes

Ich hatte gerade dasselbe Problem wie im Originalpost geschrieben und wie auch Benutzer Sky im vorherigen Post geschrieben hat.

Auch wenn die ganzen Postings schon alt sind, moechte ich hiermit den Fehler im Code von 98_update.pm und damit auch die Loesung hier mitteilen.

Das Problem tritt dann auf, wenn in der Datei FHEM/controls.txt als Zeilentrenner CR/LF (Windows Standard) und nicht LF (Unix Standard) verwendet wird. Das Einlesen durch 98_update.pm funktioniert dann nicht und es wird ein fehlerhafter HTTP GET Request Header erzeugt (nach dem Pfadnamen ist noch immer CR enthalten) und dies provoziert dann einen HTTP Response mit Fehlercode 200.

Schnelle und einfache Behebung, und nur fuer den Fall, dass man in controls.txt lediglich den Standardeintrag stehen hat, ist das Kommando "update reset" in der Web Oberflaeche von FHEM. Ansonsten mit anderen Mitteln die CR Zeichen aus der Datei entfernen.

Ich denke, dass 98_update.pm dahingehend geaendert werden sollte, dass sowohl CR/LF als LF terminierte Zeilen korrekt verarbeitet werden.

amenomade

- Wie kann man in controls etwas fehlerhaftes haben? Also mit CR/LF statt LF?

- http 200 ist kein Fehlercode, sondern der normale return Code von einem erfolgreichen HTTP Get.
200 = OK.
https://developer.mozilla.org/de/docs/Web/HTTP/Status/200
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

anvoes

Sorry, ich habe mich verschrieben, es kommt der HTTP Return Code 400 zurueck, und nicht 200.

Der Zeilenendedelimiter CR/LF kann z.B. dadurch entstehen, wenn man die Datei von Linux nach Windows transferiert und das Programm fuer den Transfer automatisch die Zeilenendekonvertierung vornimmt, weil man vergessen hat, dies nicht vornehmen zu lassen.

Ich denke, es macht mehr Sinn das Verhalten fuer das Parsen von cotrols.txt zu korrigieren (man muss lediglich "\R" in der regex verwenden) und damit das Ferhalten fehlertoleranter zu machen als darueber nachzudenken, wie es sein kann, das CR/LF auftaucht. Zudem bin ich offensichtlich nicht der Einzige, der dieses Problem hatte.

MadMax-FHEM

Warum sollte man die Datei (manuell) zwischen irgendwelchen Systemen hin und v.a. wieder zurück kopieren!!?

Und wo hast du noch jemandem mit diesem Problem!?

Die Linux-Shell ist genauso empfindlich, da wollte auch noch niemand von den Linux-Entwicklern etwas dran zu ändern... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

amenomade

#23
Zitat von: MadMax-FHEM am 20 Juni 2020, 20:26:51
Warum sollte man die Datei (manuell) zwischen irgendwelchen Systemen hin und v.a. wieder zurück kopieren!!?
Genau meine obige Frage. Es gibt meines Wissens keinen Grund, diese Datei manuell anzufassen.

Entsprechend auch keinen Grund, das Parsing der Datei zu ändern: wenn jemand sich morgen entscheidet, stat LF, "<BR>" oder "" einzutragen, muss man auch das Parsing ändern?

Deshalb bin ich gespannt auf die Antworten auf unsere Fragen. Vielleicht kennt anvoes nicht die Fhem Befehle
update [add source|delete source|list|reset] ? Siehe https://fhem.de/commandref_DE.html#update
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

anvoes

Es war meinerseits nur ein Verbesserungsvorschlag. Falls dieser zu idiotisch ist oder nicht erwünscht ist, kein Problem.

Da das Thema CR/LF versus LF ein so häufiges Problem darstellt hat Perl extra vor ein paar Jahren "\R" als regex Bestandteil eingeführt, und damit wäre es ein einfaches tolerant zu programmieren. Es geht hier nicht um "<BR>" oder "" sondern um das alltägliche Problem der beiden Standards für die Zeilenendemarkierung. Aber OK, wenn man das nicht will, dann eben nicht.

Wie aus diesem Thread hervorgeht hatte zumindest zwei Andere ebenfalls das Problem.

Es tut mir Leid, ich kann beim besten Willen nicht sagen, wie das CR/LF in die controls.txt geraten ist. Ich habe die Datei noch nie angepackt, weder über den update Befehl noch händisch, da ich keine anderen Repositories verwende. Ich hatte lediglich FHEM erst auf einem Windows Rechner und nun auf einem Unix Rechner am laufen. Kann es mir selbst nur so erklären, dass ich beim Kopieren der Dateien einen Fehler gemacht habe, auch wenn ich mir nicht vorstellen kann, wie das passieren konnte.

Btw, ich kenne den Update Befehl und alle seine Verwendungen.

Da ihr bereits geschrieben habt, dass eine Aenderung nicht in Frage kommt, bleibt mir nur noch der Hinweis, dass für den Fall, dass jemand das im Eingangspost beschriebene Problem hat, dass dann ein Grund darin bestehen könnte, dass die Datei controls.txt CR/LF enthält. Ich habe einige Stunden mit der Fehlersuche verbracht bevor ich den Fehler gefunden habe und wollte in erster Linie die Lösung für das Problem teilen.

MadMax-FHEM

#25
Das Problem mit dem der Thread begann war aber sofern ich es gelesen habe ein Rechte-Problem und kein Zeilenumbruchsproblem...

EDIT: zumindest gingen die Diskussionen in die Richtung... Und einen letztendlichen Grund konnte ich nicht ausmachen...

Und nur weil "wir" ein "paar Anwender" es "eigenartig" finden das zu ändern heißt das "gar nichts"...

Eröffne doch einen Thread im Update-Bereich (oder wo es sonst noch passen könnte, z.B. Wunschliste) und stell den Wunsch vor...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)