eq3 firmware check funkioniert nicht mehr

Begonnen von slor, 25 Oktober 2017, 23:34:14

Vorheriges Thema - Nächstes Thema

Otto123

Ja, ich behaupte mal am Freitag/Samstag ging bei mir auch noch alles.
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

Beta-User

Diese Fehlermeldung gab es bei anderen HTTPMOD-Geräten auch, müßte den Thread suchen...
Scheinbar ist das dort aber nur eine einmalige Meldung gewesen, die bei späteren Starts verschwunden war (?).

Muß bei Gelegenheit auch mal testen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Otto123

Naja ich denke dieser Name  requestData.* ist falsch.
Er steht so im Wiki im Template und ist wahrscheinlich historisch durchgeschleift. Ich verstehe allerdings nicht so richtig was er tut und ob es vielelicht
requestData .*
heissen muss, oder ob das .* wirklich einfach weg muss.
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

Beta-User

vermutlich hast du recht, dass das ".*" einfach weg muß, aber das Attribut an sich bleiben... Jedenfalls liest sich die commandref zu HTTPMOD so.
Vermutlich hat das ganze was damit zu tun, welche Attribute HTTPMOD zuläßt, und da sind zum Teil regex-Auswertungen drin, die dann auch in der Auswahlliste der setzbaren Attribute auftauchen. Schätze, so ist das da reingewandert?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Otto123

Zitat von: Beta-User am 28 Januar 2020, 11:35:16
... Schätze, so ist das da reingewandert?
Vermute ich auch :) hat vielleicht nie gestört und auch nichts gemacht?
Rudi hats gemerkt ;)
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

Beta-User

Hab's jetzt auch aus dem template entfernt, nachdem das Ergebnis bei mir dasselbe war: no updates...

Ich hatte aber extra nicht alle updates ausgeführt, um noch testen zu können. Da aber auch die Auswahl beschränkt ist, wenn man über die normale Seite kommt (https://www.eq-3.de/service/downloads.html), entspricht das den von eQ-3 gesetzten Realitäten... (die regen mich auf! Was soll das?!?). Zum Glück sollte ich die aktuelleren firmwares zum größeren Teil irgendwo noch runtergeladen haben...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Verkehrsrot

Zitat von: Otto123 am 27 Januar 2020, 22:49:32
Ja da geht es auf den ersten Blick. Allerdings funktioniert irgendwas nicht mehr. Es gibt kaum noch Firmwarelinks.

Das scheint mir daran zu liegen, dass man es auf der eq3 Download Webseite kaum noch welche gibt, sie sind dort verschwunden.

Otto123

Naja nach vier Jahren, die die dort mindestens lagen, sollte ja jeder ein update gemacht haben. Das ist sicher auch der Anfang vom Support Ende für Classic  :'(
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

Pfriemler

uuh... die sind ja wirklich alle weg. Merde! Hätte ich mir mal alle auf Halde gelegt.
Weiß jemand alternative Quellen?

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Beta-User

Zitat von: Pfriemler am 29 Januar 2020, 13:44:37
Weiß jemand alternative Quellen?
Man sollte den Entscheidern bei eQ-3 v.a. rückmelden, dass man in dieser Community hier eine transparentere Update-policy (RT-DN+1.5?) wünschen würde. (Gab es da nicht neulich eine von Rudi verbreitete Einladung zu einem Usertreff, bei dem der Wert der Community hier sehr hoch gehangen wurde...?)

Das "inoffizielle" Tauschen könnte ein copyright-Problem sein, vielleicht bekommt man auf eine kitische Rückfrage von diesem Unternehmen eventuell ja auch die "schlichte" Rückmeldung, dass mal wieder irgendein Umbau im Gange ist und man das asap reparieren wird (iVm. einem Gutscheinchen für's Melden des Problems?!?).

(Im Ernst: ich sehe meinen Entschluss bestätigt, bis auf weiteres nichts mehr von denen zu kaufen!)

[OT] Überhaupt updates: Auch manch anderem Hersteller/Zwischenhändler stünde da etwas mehr Entgegenkommen/Transparenz gut zu Gesicht. (ungeprüft) ein paar Beispiele aus dem Kopf:

Negativ:
fibaro bzgl. Z-Wave, Philips (bzgl. zigbee ohne Hue-Bridge), dto. für innr und Xiaomi, wenn es ohne deren ZigBee-Bridge gehen soll...

Positiv:
Osram und Ikea @ZigBee, scheint beides mit deconz zu laufen...

Vielleicht sollte man mal eine Seite aufmachen, wo man solche Infos abliefern kann, auch wenn sich grade mal irgendwo wieder der (unternehmenspolitische) Wind dreht?!?
[/OT]
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

yersinia

#145
Zitat von: Pfriemler am 29 Januar 2020, 13:44:37Weiß jemand alternative Quellen?
Dieses Forum? Einige Firmware ist verstreut, zB für HM-CC-RT-DN v1.5 und HM-TC-IT-W-EU v1.4.
Vielleicht ist es sinnvoll einen eigenen, angepinnten Thread im Homematic-Forum aufzumachen und die HM-fw dort zu sammeln/archivieren. Einige user haben bestimmt auch noch firmware files rumliegen.....

Edit meint, dass ich (neben den zwei verlinkten fw) noch folgende auf dem RasPi habe:
HM-ES-PMSw1-Pl_update_V2_5_0009_150217.eq3
HM-LC-Bl1PBU-FM_update_V2_11_1_161212.eq3
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Pfriemler

Dieses Skript liefert alle Firmwares (auch die von HM-IP).
https://homematic-forum.de/forum/viewtopic.php?f=27&t=56380#p560319
Wenn man jq (sudo apt-get install jq) nachinstalliert, tut's auch aufm Raspi.

Laut Auskunft im Homematic-Forum werden derzeit alle Firmwares mit erweiterten info.txt versehen, die die erforderlichen Mindest-Versionen für CCU2 und CCU3 listen. Meine soeben heruntergeladenen haben allesamt neuere info.txt, während die Firmware selbst sich mit meinen Backups deckt. Bin noch am Sortieren.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

WolfgangV

Danke! funktioniert wunderbar!

Gruß


Wolfgang
Raspi5  HmUART, Jeelink, VU+Duo2, Viera, Sonos, HM-CC-RT-DN,     
HM-WDS30-OT2-SM, HM-LC-Dim1TPBU-FM,    
Jeelink, TUL

yersinia

Zitat von: Pfriemler am 29 Januar 2020, 19:48:52
Dieses Skript liefert alle Firmwares (auch die von HM-IP).
https://homematic-forum.de/forum/viewtopic.php?f=27&t=56380#p560319
Uih, der Link https://update.homematic.com/firmware/api/firmware/search/DEVICE liefert ja anscheinend ein JSON (?):
homematic.com.setDeviceFirmwareVersions([
{"type":"HmIPW-WTH","version":"2.4.6"},
{"type":"HM-LC-Dim1L-Pl-3","version":"2.9.7"},
{"type":"HmIP-STHD","version":"2.2.2"},
{"type":"HmIPW-DRD3","version":"1.0.0"},
{"type":"HmIP-SMO","version":"1.2.8"},
{"type":"HmIP-SWO-PR","version":"1.0.18"},
{"type":"HmIP-FROLL","version":"1.2.0"},
{"type":"HM-LC-Sw1-Pl-DN-R3","version":"2.6.0"},
{"type":"HmIP-SWO-B","version":"1.0.18"},
{"type":"HM-LC-RGBW-WM","version":"1.0.0"},
{"type":"HmIP-SRH","version":"1.2.10"},
{"type":"HmIP-SPI","version":"1.4.0"},
{"type":"HmIP-PDT","version":"1.4.8"},
{"type":"HM-ES-PMSw1-Pl-DN-R3","version":"2.6.0"},
{"type":"HmIP-PSM-IT","version":"2.6.2"},
{"type":"HmIP-PSM","version":"2.6.2"},
{"type":"HmIP-KRCA","version":"1.10.0"},
{"type":"HmIP-PS","version":"2.6.2"},
{"type":"HmIP-MIOB","version":"1.6.4"},
{"type":"HM-CC-RT-DN","version":"1.5.3"},
{"type":"HmIP-BBL","version":"1.6.2"},
{"type":"HM-ES-PMSw1-Pl-DN-R2","version":"2.6.0"},
{"type":"HmIP-PSM-PE","version":"2.6.2"},
{"type":"HM-LC-Dim1T-Pl-3","version":"2.9.5"},
{"type":"HmIP-BSL","version":"1.0.2"},
{"type":"HM-LC-Sw1-Pl-DN-R1","version":"2.6.0"},
{"type":"HmIP-BSM","version":"1.12.6"},
{"type":"HmIP-eTRV-C","version":"1.2.4"},
{"type":"HmIP-PDT-UK","version":"1.4.8"},
{"type":"HmIP-SMI","version":"1.4.8"},
{"type":"HmIP-STH","version":"2.2.0"},
{"type":"HmIP-FDT","version":"1.4.8"},
{"type":"HM-Dis-EP-WM55","version":"1.2.0"},
{"type":"HmIP-SWDO-I","version":"1.16.10"},
{"type":"HM-ES-PMSw1-Pl-DN-R5","version":"2.6.0"},
{"type":"HmIP-WTH-2","version":"2.6.0"},
{"type":"HM-LC-Dim1T-DR","version":"1.1.0"},
{"type":"HM-LC-Sw1-Pl-DN-R4","version":"2.6.0"},
{"type":"HmIPW-STH","version":"2.4.6"},
{"type":"HmIP-WTH","version":"2.4.8"},
{"type":"HM-ES-PMSw1-Pl-DN-R4","version":"2.6.0"},
{"type":"HM-MOD-Re-8","version":"1.2.0"},
{"type":"HmIP-PSM-CH","version":"2.6.2"},
{"type":"HM-LC-Dim1TPBU-FM","version":"2.9.5"},
{"type":"HmIP-FBL","version":"1.8.12"},
{"type":"HmIP-BWTH","version":"1.2.4"},
{"type":"HM-TC-IT-WM-W-EU","version":"1.4.2"},
{"type":"HM-LC-Bl1PBU-FM","version":"2.11.1"},
{"type":"HM-OU-CFM-TW","version":"1.3.0"},
{"type":"HmIP-BWTH","version":"1.2.4"},
{"type":"HmIP-ASIR","version":"1.4.2"},
{"type":"HmIP-FSM","version":"1.6.2"},
{"type":"HmIP-eTRV","version":"2.2.8"},
{"type":"HmIP-BROLL","version":"1.6.2"},
{"type":"HmIP-SMO-A","version":"1.2.8"},
{"type":"HM-LC-Sw1-Pl-DN-R2","version":"2.6.0"},
{"type":"HmIP-eTRV-2","version":"2.2.8"},
{"type":"HmIP-SWDO","version":"1.16.8"},
{"type":"HmIP-PCBS","version":"2.10.2"},
{"type":"HmIP-PCBS2","version":"1.10.10"},
{"type":"HmIP-WTH-2","version":"2.0.2"},
{"type":"HM-LC-Sw1-Pl-DN-R5","version":"2.6.0"},
{"type":"HmIP-WTH","version":"2.2.0"},
{"type":"HmIP-BDT","version":"1.4.8"},
{"type":"HmIP-FSM16","version":"1.6.2"},
{"type":"HmIP-PSM-UK","version":"2.6.2"},
{"type":"HM-ES-PMSw1-Pl-DN-R1","version":"2.6.0"},
{"type":"HmIP-BBL","version":"1.8.10"},
{"type":"HmIPW-STHD","version":"2.4.8"},
{"type":"HM-LC-Dim1PWM-CV","version":"2.9.5"},
{"type":"HmIP-SWO-PL","version":"1.0.18"},
{"type":"HM-Sen-MDIR-WM55","version":"1.2.0"}]);

Das kann man sicher in HTTPMOD auslesen und mittels https://ccu3-update.homematic.com/firmware/download?cmd=download&serial=0&product=[DEVICE] einen link generieren bei Update.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

yersinia

#149
Danke Pfriemler für den Tipp.

Ich habe den bestehenden Code angepasst und jetzt funktioniert dies mit dem neuen Link:
defmod hm_fw_check HTTPMOD https://update.homematic.com/firmware/api/firmware/search/DEVICE 86400
attr hm_fw_check userattr reading01AutoNumLen reading01Name reading01RegOpt reading01Regex reading02AutoNumLen reading02Name reading02RegOpt reading02Regex readingMaxAge readingMaxAgeReplacementMode:text,reading,internal,expression,delete showNewFWOnly:yes,no
attr hm_fw_check enableControlSet 1
attr hm_fw_check icon hm_ccu
attr hm_fw_check reading01AutoNumLen 2
attr hm_fw_check reading01Name hmfw-type
attr hm_fw_check reading01RegOpt g
attr hm_fw_check reading01Regex (?i)"type":"((?:\w+[-]*){1,})
attr hm_fw_check reading02AutoNumLen 2
attr hm_fw_check reading02Name hmfw-version
attr hm_fw_check reading02RegOpt g
attr hm_fw_check reading02Regex (?si)"version":"(\d+[.]\d+[.]\d+)
attr hm_fw_check readingMaxAge 10
attr hm_fw_check readingMaxAgeReplacementMode delete
attr hm_fw_check room fw-checks
attr hm_fw_check showError 1
attr hm_fw_check showMatched 1
attr hm_fw_check showNewFWOnly yes
attr hm_fw_check stateFormat {   my $ret ="";;;;\
    my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");;;;\
    $ret .= '<div style="text-align:left">';;;;\
    $ret .= 'last <a title="eq3-downloads" href="http://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => '.$lastCheck;;;;\
    $ret .= '<br><br><pre>';;;;\
    $ret .= "| device                         | model                   | cur_fw | new_fw |<br>";;;;\
    $ret .= "------------------------------------------------------------------------------<br>";;;;\
    my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");;;;\
    if($check eq "no fw-updates needed!") {\
      $ret .= '| <b style="color:green">';;;;\
      $ret .= sprintf("%-74s",$check);;;;\
      $ret .= '</b> |';;;;\
    } elsif($check eq "error => no or wrong data from eq3-server!") {\
      $ret .= '| <b style="color:red">';;;;\
      $ret .= sprintf("%-74s",$check);;;;\
      $ret .= '</b> |';;;;\
    } else {\
      my @devices = split(',',$check);;;;\
      foreach my $devStr (@devices) {\
        my ($dev,$md,$idx,$ofw,$nfw) = $devStr =~ m/([^\s]+)\s[(]([^\s]+)\s[(](\d+)[)]\sofw_([\d\.]+)\s=>\snfw_([\d\.]+)/;;;;\
        my $fw_link = "https://ccu3-update.homematic.com/firmware/download?cmd=download&serial=0&product=".$md;;;;\
        $ret .= '| <a href="/fhem?detail='.$dev.'" target="_blank"><b>';;;;\
        $ret .= sprintf("%-30s",$dev);;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= '<b'.(($md eq "?")?' title="missing attribute model => set device in teach mode to receive missing data" style="color:yellow;;"':' style="color:lightgray;;"').'>';;;;\
        $ret .= sprintf("%-23s",$md);;;;\
        $ret .= '</b> | ';;;;\
        $ret .= '<b'.(($ofw eq "0.0")?' title="missing attribute firmware => set device in teach mode to receive missing data" style="color:yellow"':' style="color:lightgray;;"').'>';;;;\
        $ret .= sprintf("%6s",$ofw);;;;\
        $ret .= '</b> | ';;;;\
        $ret .= '<a title="download firmware file" href="'.$fw_link.'" target="_blank"><b style="color:red;;">';;;;\
        $ret .= sprintf("%6s",$nfw);;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= "<br />";;;;\
      }\
    }\
    $ret .= '</pre></div>';;;;\
  return $ret;;;;\
}
attr hm_fw_check userReadings newFwForDevices:MATCHED_READINGS.* {\
  my $ret = "";;;;\
  my $newfwonly = AttrVal($name,"showNewFWOnly","yes");;;;\
  if (ReadingsVal($name,"UNMATCHED_READINGS","?") eq "") {\
    my @eq3FwList = map { \
sprintf(uc(ReadingsVal($name,"hmfw-type-".$_,"?")).":".ReadingsVal($name,"hmfw-version-".$_,"?").":".$_);;;;\
} ReadingsVal($name,"MATCHED_READINGS","?")=~ m/hmfw-version-(\d\d)/g;;;;\
\
foreach my $dev (devspec2array("TYPE=CUL_HM:FILTER=DEF=......:FILTER=subType!=(virtual|)")) {\
      my $md = AttrVal($dev,"model","?");;;;\
      my $v = AttrVal($dev,"firmware","0.0");;;;\
      my ($h,$l) = split('\.',$v);;;;\
      foreach my $newFW (grep m/^${md}:/i,@eq3FwList) {\
my ($fwmd, $fwv, $idx) = $newFW =~ m/([^:]+):(\d+[.]\d+[.]\d+):(\d+)$/;;;;\
my ($fwh, $fwl) = split('\.',$fwv);;;;\
if(($newfwonly eq "no") || (($fwh > $h) || (($fwh == $h) && ($fwl > $l)))) {\
          $ret .= "," if($ret ne "");;;;\
  $ret .= $dev." (".$md." (".$idx.") ofw_".$v." => nfw_".$fwv.")";;;;\
        }\
      }\
    }\
  } else {\
    $ret = "error => no or wrong data from eq3-server!";;;;\
  }\
  return ($ret eq "")?"no fw-updates needed!":$ret;;;;\
}
attr hm_fw_check webCmd reread

Ich habe ein userAttr showNewFWOnly eingepflegt, default ist yes. Setzt man dies auf no werden immer alle gefundenen firmware-versionen angezeigt - ansonsten -im default- werden nur neue Versionen angezeigt, wenn es auch welche gibt.
Ein Datum oder Changelog lassen sich so nicht extrahieren - die Daten liegen nicht vor.

Bitte mal testen, wenn es keine Probleme gibt könnte das als Template eingepflegt werden.

EDIT 2020-02-03: Beta-User hat es in die httpmod.templates übernommen

EDIT 2020-04-16: model gross/klein-Schreibung berücksichtigt.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl