Fehler beim Update

Begonnen von Supadone, 29 Mai 2020, 09:39:27

Vorheriges Thema - Nächstes Thema

Supadone

Servus
Seit gestern bekomme ich folgenden Fehler beim update:

Downloading https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt
UPD FHEM/48_HomeConnect.pm
Got 30881 bytes for FHEM/48_HomeConnect.pm, expected 31853
aborting.


Grüße

Sascha_F

Scheinbar wurde die controls_homeconnect.txt nicht angepasst --> dort stehen die erwarteten 30881 bytes.

pula

ist mir leider auch schon aufgefallen :-(
cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Nicees

#3
Hallo zusammen! Bei mir leider derselbe Fehler - seit heute klappt die Verbindung zur Kaffeemaschine auch nicht mehr. Es lief Monate lang stabil und ohne Fehler.

TI9555X1DE can't put https://api.home-connect.com/api/homeappliances/SIEMENS-TI9555X1DE-68A40E2CB58E/settings/BSH.Common.Setting.PowerState -- https://api.home-connect.com/api/homeappliances/SIEMENS-TI9555X1DE-68A40E2CB58E/settings/BSH.Common.Setting.PowerState: Select timeout/error:

Ein refresh des Token hat einwandfrei geklappt.

Ein "update" brachte nun das angesprochene:
2020.06.02 09:00:20 1 : homeconnect
2020.06.02 09:00:20 1 : UPD FHEM/48_HomeConnect.pm
2020.06.02 09:00:20 1 : Got 30881 bytes for FHEM/48_HomeConnect.pm, expected 31853
2020.06.02 09:00:20 1 : aborting.


Ich habe versucht ein Downgrade auf eine Vers. aus 2018 zu machen via update all https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/STABLE_0.9/controls_homeconnect.txt

Doch hier habe ich nun mit ganz anderen Fehlern zu kämpfen:
2020.06.02 09:02:05 2 : hcconn AuthTokenResponse { "error": "invalid_client", "error_description": "client secret validation failed" }
2020-06-02 09:02:05 HomeConnectConnection hcconn Error


Sowie folgendes:
update HTTPUtils.pm
update 98_update.pm
shutdown restart
danach das update nochmal normal starten


Irgendeine Idee was hier der Fehler ist bzw. wie ich wieder auf die aktuellste Version komme? Update geht ja aus oben genannten Gründen nicht bzw. schlägt fehl.  :)

LG
Nicees



EDIT:
Habe nun die 48_HomeConnect.pm und 48_HomeConnectConnection.pm, die letzte Nacht durch das tägliche FHEM Backup gesichert wurden, via Filezilla auf meinen RPI kopiert und restartet.
Nun funktioniert witzigerweise auch die Steuerung der Kaffeemaschine wieder  :o  :o
M'kay ...

Sascha_F

Hi zusammen,

die neue *.pm kann natürlich auch direkt von GitHub geholt werden. Die Adresse steht ja im Log bzw. hier direkt: https://github.com/sw-home/FHEM-HomeConnect/tree/master/FHEM.

In FHEM schieben und ggf. Berechtigungen anpassen natürlich.

Viele Grüße
Sascha


Nicees

Danke für die Info - werde ich die Tage mal machen.

Aus Neugierde: Wie kommt es zu dem genannten Error während des Update-Prozesses in FHEM? Liegt's an meiner Installation oder ist das ein generelles Problem?

swhome

In dieser Controls Datei muss der Zeitstempel und die Größe der Datei eingetragen werden (das ist jedenfalls mein Wissensstand). Das hatte ich auch gemacht, doch irgendwie hat sich die Größe durch den Upload zu Github verändert. Schade dass dieser Prozess so manuell und fehlerträchtig ist. Wäre cool wenn man einen Hook oder Action oder sowas hätte was diese Datei automatisch generiert. Hab schon https://github.com/fhem/fhem-controls-actions dafür gefunden aber es ist mir nicht klar wie es eingesetzt werden kann.
Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

pula

Auf jeden Fall geht das Update jetzt wieder automatisch mit.
Danke fürs Richten!
Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

CoolTux

Zitat von: swhome am 04 Juni 2020, 09:31:15
In dieser Controls Datei muss der Zeitstempel und die Größe der Datei eingetragen werden (das ist jedenfalls mein Wissensstand). Das hatte ich auch gemacht, doch irgendwie hat sich die Größe durch den Upload zu Github verändert. Schade dass dieser Prozess so manuell und fehlerträchtig ist. Wäre cool wenn man einen Hook oder Action oder sowas hätte was diese Datei automatisch generiert. Hab schon https://github.com/fhem/fhem-controls-actions dafür gefunden aber es ist mir nicht klar wie es eingesetzt werden kann.

Das kannst Du entweder als Workflow auf Github machen oder direkt Lokal als Git Hook unter .git/hook/pre-commit Skript. Ich habe das als Perl Skript.
Du erstellst also ein Perlscript und benennst es .git/hook/pre-commit in Deinem lokalen Repo.

Hier ein Beispiel für AutoShuttersControl
ACHTUNG! Es ist bereits die neue Form der Modulstruktur

#!/usr/bin/perl -w

use File::Basename;
use POSIX qw(strftime);
use strict;

my @filenames = (   'FHEM/73_AutoShuttersControl.pm',
                    'lib/FHEM/Automation/ShuttersControl.pm',
                    'lib/FHEM/Automation/ShuttersControl/Dev.pm',
                    'lib/FHEM/Automation/ShuttersControl/Roommate.pm',
                    'lib/FHEM/Automation/ShuttersControl/Shutters.pm',
                    'lib/FHEM/Automation/ShuttersControl/Window.pm',
                    'lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm',
                    'lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm',
                    'lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm',
                    'lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm',
                    'lib/FHEM/Automation/ShuttersControl/Window/Attr.pm',
                    'lib/FHEM/Automation/ShuttersControl/Window/Readings.pm'
    );

my $controlsfile    = 'controls_AutoShuttersControl.txt';

open(FH, ">$controlsfile") || return("Can't open $controlsfile: $!");

for my  $filename (@filenames) {
    my @statOutput = stat($filename);
 
    if (scalar @statOutput != 13) {
        printf 'error: stat has unexpected return value for ' . $filename . "\n";
        next;
    }

    my $mtime = $statOutput[9];
    my $date = POSIX::strftime("%Y-%m-%d", localtime($mtime));
    my $time = POSIX::strftime("%H:%M:%S", localtime($mtime));
    my $filetime = $date."_".$time;

    my $filesize = $statOutput[7];

    printf FH 'UPD ' . $filetime . ' ' . $filesize . ' ' .$filename . "\n";
}

close(FH);

print 'Create controls File succesfully' . "\n";

exit 0;
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Sascha_F

@Nicees: In der Controls-Datei stehen der Dateiname, Zeitstempel und Dateigröße.

Beim Update holt sich FHEM die Controls-Datei und prüft, welche Dateien (im Vergleich zu Deiner Installation) zu aktualisieren sind und beginnt dann (bei Bedarf) mit dem Update (= Download der Datei).

Da die heruntergeladene Datei aber eine andere Dateigröße hatte, als in der Controls-Datei angegeben, wird das Update nicht durchgeführt - abweichende Dateigröße impliziert ja, dass die heruntergeladene Datei fehlerhaft ist.

Viele Grüße ++ schönes WE
Sascha