eq3 firmware check funkioniert nicht mehr

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

Vorheriges Thema - Nächstes Thema

Beta-User

@Otto:

Danke für's Austesten und die Einarbeitung in's Wiki, THX for reporting your experience with attrTemplate ;D .

[OT @all]
- Es wundert mich etwas, dass das Thema grade bei HTTPMOD so ruhig ist... Eingentlich wäre das ein guter Weg, "sich bekannt" zu machen für viele tolle Sachen, die heute "irgendwo" im Wiki vorhanden sind.
(Shame on me: manches aus dem template-file funktioniert leider nicht ganz so, wie ich mir das wünsche; vielleicht mag sich mal einer um ORF-Wetter kümmern (es gibt mWm. noch eines, bei dem die regexe nicht so hinhauen, es gibt einen Thread dazu, wenn jemand Interesse hat, der Link dahin ist über attrTemplate bei jedem HTTPMOD zu erhalten).

- Wenn jemand das file als Maintainer (ganz oder mit) übernehmen möchte: gerne melden :) , ich bin leider eher nur fortgeschrittener Anfänger beim regexen, und daher keine Optimalbesetzung für diesen Job...
[/OT]

Gruß, Beta-User
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

Burny4600

#91
Ich habe mich betreffend Firmware Update der HM Geräte hier und auf dem Wiki durchgewurstelt.
Dabei dürfte ich einen Fehler gemacht haben den ich nicht mehr wegbekomme.
Bei mir werden aktuell nur 18 fw_link-readings und nur 18 changeLog_link-readings angezeigt, und es werden keine Firmwareupdates durchgeführt, obwohl es welche geben müsste.
get HMinfo param -d D-firmware
param done:
param list
    entity              : D-firmware            |

Aerosol Difusor            HM-LC-SW1-BA-PCB
    AB_FR_AD            : 1.7

Raumthermostat             HM-CC-RT-DN
    EG_BA_HZG_RT        : 1.4
    EG_KU_HZG_RT        : 1.4
    EG_SL_HZG_RT        : 1.4
    EG_STH_HZG_RT        : 1.4
    EG_WC_HZG_RT        : 1.4
    EG_WI_HZG_RT        : 1.4
    EG_WZ_HZG_RT        : 1.4
    OG1_KI_HZG_RT        : 1.4
    OG1_KU_HZG_RT        : 1.4
    OG1_SL_HZG_RT        : 1.4
    OG1_STH_HZG_RT      : 1.4
    OG1_WC_HZG_RT        : 1.4
    OG1_WZ_HZG_RT        : 1.4
    OG2_BU1_HZG_RT      : 1.4
    OG2_BU2_HZG_RT1      : 1.4
    OG2_BU2_HZG_RT2      : 1.4
    OG2_WC_HZG_RT        : 1.4

Temperatur Controler       HM-TC-IT-WM-W-EU
    EG_BA_HZG_TC        : 1.3
    EG_KU_HZG_TC        : 1.3
    EG_SL_HZG_TC        : 1.3
    EG_WI_HZG_TC        : 1.4
    EG_WZ_HZG_TC        : 1.3
    OG1_KI_HZG_TC        : 1.3
    OG1_KU_HZG_TC        : 1.3
    OG1_SL_HZG_TC        : 1.3
    OG1_WZ_HZG_TC        : 1.3
    OG2_BU1_HZG_TC      : 1.3
    OG2_BU2_HZG_TC      : 1.3

Bewässerung | Kühlung      HM-LC-SW4-BA-PCB
    AB_BKTR_BW          : 1.1
    AB_SG_BW            : 1.1
    AB_VG_BW            : 1.1
    OG2_B1_KG            : 1.1

Bewegungssensor            HM-SEN-MDIR-O-3
    AB_SG_BLGOBWS        : 1.7
    AB_SG_BLWSBWS        : 1.7

Audioausgabe               HM-OU-CFM-TW
    AB_FR_AAM            : 1.3
    EG_KUE_AAM          : 1.3
    EG_STH_AAM          : 1.3
    OG1_VR_AAM          : 1.3
    OG2_BU1_AAM          : 1.3

Fernbedienung Verriegelung HM-RC-KEY4-2
    EG_STH_T1_FB        : 1.2

Verriegelung               HM-SEC-KEY-S
    EG_STH_T1_VG        : 2.5

Taster                     HM-PB-2-WM55
    AB_SA_NT            : 1.4
    EG_STH_T1_VGT        : 1.4

Taster                     HM-LC-SW1PBU-FM
    OG1_WZ_BL_VIO        : 2.8

Regensensor                HM-SEN-RD-O
    AB_WST_RSI          : 1.4

Pegelstand Mühlbach        HM-SEN-WA-OD
    AB_MB_PS            : 1.3

Feuchtesensor              HM-SEC-WDS-2
    AB_GAO_FS1_SSPPWTI  : 1.4
    KG_FS1_HAI          : 1.4
    OG1_KUE_FS1_OAI      : 1.4

Aktor HM-LC-SW1PBU-FM      HM-LC-SW1PBU-FM
    OG1_KUE_FS1_OAFGO    : 2.8

Rauchmelder                HM-SEC-SD-2
    AB_FR_RM            : 1.0
    AB_GAO_RM            : 1.0
    EG_KUE_RM            : 1.0
    EG_SL_RM            : 1.0
    EG_VR_RM            : 1.0
    EG_WR_RM            : 1.0
    EG_WZ_RM            : 1.0
    OG1_KI_RM            : 1.0
    OG1_KUE_RM          : 1.0
    OG1_SL_RM            : 1.0
    OG1_STH_RM          : 1.0
    OG1_VR_RM            : 1.0
    OG1_WZ_RM            : 1.0
    OG2_BU1_RM          : 1.0
    OG2_BU2_RM          : 1.0
    OG2_DB_RM            : 1.0
    OG2_EDV_RM          : 1.0
    OG2_VR_RM            : 1.0

RGB Beleuchtung            HM-LC-RGBW-WM
    RGB_AB_FR            : 1.0
    RGB_OG1_WZ          : 1.0

Fenster Sensoren           HM-SEC-SCO
    UESF1_AB_FR          : 1.0
    UESF1_AB_GAO        : 1.0
    UESF1_EG_BA          : 1.0
    UESF1_EG_KUE        : 1.0
    UESF1_EG_SL          : 1.0
    UESF1_EG_STH        : 1.0
    UESF1_EG_WC          : 1.0
    UESF1_EG_WI          : 1.0
    UESF1_EG_WZ          : 1.0
    UESF1_OG1_BA        : 1.0
    UESF1_OG1_KI        : 1.0
    UESF1_OG1_KUE        : 1.0
    UESF1_OG1_SL        : 1.0
    UESF1_OG1_WC        : 1.0
    UESF1_OG1_WZ        : 1.0
    UESF1_OG2_BUE1_N    : 1.0
    UESF1_OG2_BUE2_N    : 1.0
    UESF1_OG2_BUE2_W    : 1.0
    UESF1_OG2_DB        : 1.0
    UESF1_OG2_DBN        : 1.0
    UESF2_AB_GAO        : 1.0
    UESF2_EG_SL          : 1.0
    UESF2_EG_STH        : 1.0
    UESF2_EG_WZ          : 1.0
    UESF2_OG1_SL        : 1.0
    UESF2_OG1_WZ        : 1.0
    UESF2_OG2_BUE1_N    : 1.0
    UESF2_OG2_BUE2_N    : 1.0
    UESF2_OG2_BUE2_W    : 1.0
    UESF2_OG2_DBN        : 1.0
    UESF3_OG1_STH        : 1.0
    UESF3_OG2_BUE1_N    : 1.0
    UESF3_OG2_BUE2_W    : 1.0
    UESF3_OG2_DBN        : 1.0
    UESF4_OG1_STH        : 1.0
    UESF5_OG2_STH        : 1.0
    UEST1_AB_FR          : 1.0
    UEST1_AB_GAO        : 1.0
    UEST1_AB_GTW        : 1.0
    UEST1_AB_SA          : 1.0
    UEST1_EG_BA          : 1.0
    UEST1_EG_KUE        : 1.0
    UEST1_EG_STH        : 1.0
    UEST1_OG1_KUE        : 1.0
    UEST1_OG2_EDV        : 1.0
    UEST2_AB_GAO        : 1.0


Eine Verständnisfrage habe ich zum Eintrag in der 99_myUtils.pm der userReadings und stateFormat Definition laut Wiki.

attr eQ3 stateFormat {eq3StateFormat($name)}
attr eQ3 userReadings newFwForDevices:MATCHED_READINGS:.* {eq3Attr($name)}

Warum definiert man diese in der 99_myUtils.pm wenn sie ohnehin wieder in die userReadings und stateFormat ausgelagert werden.
######## eQ3 Firmware Update ###################
### 2019.10.19
sub eq3Attr{
        my $name = shift @_;
my $ret = "";
my @data;
if (ReadingsVal($name,"UNMATCHED_READINGS","?") eq "") {
my @eq3FwList = map{
@data = ReadingsVal($name,"fw_link-".$_,"?") =~ m/firmware\/(.*?)_update_v([\d_]+)_(\d\d)(\d\d)(\d\d)/i;
$data[0] =~ s/_/-/g;
sprintf("%s:%s:%s.%s.%s:%s",$data[0],$data[1],$data[4],$data[3],"20".$data[2],$_);
} ReadingsVal($name,"MATCHED_READINGS","?") =~ m/fw_link-(\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 ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;
if(($nh > $h) || (($nh == $h) && ($nl > $l))) {
$ret .= "," if($ret ne "");
$ret .= $dev." (".$md." | fw_".$v." => fw".$idx."_".$nh.".".$nl.($no?sprintf(".%d",$no):"")." | ".$date.")";
}
}
}
} else {
$ret = "error => no or wrong data from eq3-server!";
}
return ($ret eq "")?"no fw-updates needed!":$ret;
}

#####################

sub eq3StateFormat($) {
        my $name = shift @_;
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>';
$ret .= '<pre>';
$ret .= "| device                  | model                   | cur_fw | new_fw | release    |<br>";
$ret .= "------------------------------------------------------------------------------------<br>";
my $check = ReadingsVal($name,"newFwForDevices","error => no or wrong data from eq3-server!");
if($check eq "no fw-updates needed!") {
$ret .= '| ';
$ret .= '<b style="color:green">';
$ret .= sprintf("%-80s",$check);
$ret .= '</b>';
$ret .= ' |';
} elsif($check eq "error => no or wrong data from eq3-server!") {
$ret .= '| ';
$ret .= '<b style="color:red">';
$ret .= sprintf("%-80s",$check);
$ret .= '</b>';
$ret .= ' |';
} else {
my @devices = split(',',$check);
foreach my $devStr (@devices) {
my ($dev,$md,$ofw,$idx_fw,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;
my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");
my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");
$ret .= '| ';
$ret .= '<a href="/fhem?detail='.$dev.'">';
$ret .= sprintf("%-23s",$dev);
$ret .= '</a>';
$ret .= " | ";
$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 .= " | ";
$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 .= " | ";
$ret .= '<a title="download firmware file" href="'.$fw_link.'">';
$ret .= '<b style="color:red">';
$ret .= sprintf("%6s",$nfw);
$ret .= '</b>';
$ret .= '</a>';
$ret .= " | ";
$ret .= '<a title="open changeLog file" href="'.$cl_link.'"><b style="color:red">' if($cl_link ne "none");
$ret .= sprintf("%-10s",$date);
$ret .= '</b></a>' if($cl_link ne "none");
$ret .= " |<br>";
}
}
$ret .= '</pre>';
$ret .= '</div>';
return $ret;
}


list eQ3
Internals:
   BUSY       0
   CFGFN      /media/hdd/fhem/mycfg/HM/hm_rasp01.cfg
   DEF        https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
   FUUID      5c45b04f-f33f-f4d2-e8ac-6e95ed4c33510da6
   Interval   604800
   LASTSEND   1571506945.31442
   MainURL    https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   MaxAgeEnabled 1
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       eQ3
   NOTIFYDEV  global
   NR         4212
   NTFY_ORDER 50-eq3
   STATE      <div style="text-align:left">last <a title="eq3-downloads" href="http://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => 2019-10-19 19:42:25<br><br><pre>| device                  | model                   | cur_fw | new_fw | release    |<br>------------------------------------------------------------------------------------<br>| <b style="color:green">no fw-updates needed!                                                           </b> |</pre></div>
   TRIGGERTIME 1572043500
   TRIGGERTIME_FMT 2019-10-26 00:45:00
   TYPE       HTTPMOD
   TimeAlign  1571438700
   TimeAlignFmt 2019-10-19 00:45:00
   addr       https://www.eq-3.de:443
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
   displayurl https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   header     
   host       www.eq-3.de
   httpheader HTTP/1.1 200 OK
Date: Sat, 19 Oct 2019 17:42:25 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9
X-Powered-By: PHP/7.1.15
Strict-Transport-Security: max-age=15768000
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
   httpversion 1.1
   hu_blocking 0
   hu_filecount 2
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /ajax/downloads/downloads_eq3.php
   protocol   https
   redirects  0
   timeout    2
   url        https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   value      0
   QUEUE:
   READINGS:
     2019-10-19 19:42:25   LAST_REQUEST    update
     2019-10-19 19:42:25   MATCHED_READINGS fw_link-01 fw_link-02 fw_link-03 fw_link-04 fw_link-05 fw_link-06 fw_link-07 fw_link-08 fw_link-09 fw_link-10 fw_link-11 fw_link-12 fw_link-13 fw_link-14 fw_link-15 fw_link-16 fw_link-17 fw_link-18 changeLog_link-01 changeLog_link-02 changeLog_link-03 changeLog_link-04 changeLog_link-05 changeLog_link-06 changeLog_link-07 changeLog_link-08 changeLog_link-09 changeLog_link-10 changeLog_link-11 changeLog_link-12 changeLog_link-13 changeLog_link-14 changeLog_link-15 changeLog_link-16 changeLog_link-17 changeLog_link-18
     2019-10-19 19:42:25   UNMATCHED_READINGS
     2019-10-19 19:42:25   changeLog_link-01 https://www.eq-3.de/downloads/software/firmware/changelog_HM-ES-TX-WM_update_V2_2_190619_1.txt
     2019-10-19 19:42:25   changeLog_link-02 https://www.eq-3.de/downloads/software/firmware/changelog_hm-mod-re-8_update_v1_2_150911.txt
     2019-10-19 19:42:25   changeLog_link-03 https://www.eq-3.de/downloads/software/firmware/changelog_hm_dis_ep_wm55_update_v1_2_170129.txt
     2019-10-19 19:42:25   changeLog_link-04 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-bl1pbu-fm_update_v2_11_1_161212.txt
     2019-10-19 19:42:25   changeLog_link-05 https://www.eq-3.de/downloads/software/firmware/changelog_hm-es-pmsw1-pl-dn-r1_update_v2_5_0009_150217.txt
     2019-10-19 19:42:25   changeLog_link-06 https://www.eq-3.de/downloads/software/firmware/changelog_hm-sen-mdir-wm55_update_v1_2_0_160825.txt
     2019-10-19 19:42:25   changeLog_link-07 https://www.eq-3.de/downloads/software/firmware/changelog_hm-es-tx-wm_update_v1_2_160628.txt
     2019-10-19 19:42:25   changeLog_link-08 https://www.eq-3.de/downloads/software/firmware/changelog_hm-ou-cfm-tw_update_v1_3_160620.txt
     2019-10-19 19:42:25   changeLog_link-09 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1t-pl-3_update_v2_9_0005_160113.txt
     2019-10-19 19:42:25   changeLog_link-10 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1l-pl-3_update_v2_9_0007_160113.txt
     2019-10-19 19:42:25   changeLog_link-11 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1tpbu-fm_update_v2_9_0005_160113.txt
     2019-10-19 19:42:25   changeLog_link-12 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1pwm-cv_update_v2_9_0005_160113g.txt
     2019-10-19 19:42:25   changeLog_link-13 https://www.eq-3.de/downloads/software/firmware/changelog_hm_tc_it_wm_w_eu_update_v1_3_002_150827.txt
     2019-10-19 19:42:25   changeLog_link-14 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-sw1pbu-fm.txt
     2019-10-19 19:42:25   changeLog_link-15 none
     2019-10-19 19:42:25   changeLog_link-16 none
     2019-10-19 19:42:25   changeLog_link-17 none
     2019-10-19 19:42:25   changeLog_link-18 none
     2019-10-19 19:42:25   fw_link-01      https://www.eq-3.de/downloads/software/firmware/HM-ES-TX-WM_update_V2_2_190619_1.tgz
     2019-10-19 19:42:25   fw_link-02      https://www.eq-3.de/downloads/software/firmware/hm-mod-re-8_update_v1_2_150911.tgz
     2019-10-19 19:42:25   fw_link-03      https://www.eq-3.de/downloads/software/firmware/hm_dis_ep_wm55_update_v1_2_170129.tgz
     2019-10-19 19:42:25   fw_link-04      https://www.eq-3.de/downloads/software/firmware/hm-lc-bl1pbu-fm_update_v2_11_1_161212.tgz
     2019-10-19 19:42:25   fw_link-05      https://www.eq-3.de/downloads/software/firmware/hm-es-pmsw1-pl-dn-r1_update_v2_5_0009_150217.tgz
     2019-10-19 19:42:25   fw_link-06      https://www.eq-3.de/downloads/software/firmware/hm-sen-mdir-wm55_update_v1_2_0_160825.tgz
     2019-10-19 19:42:25   fw_link-07      https://www.eq-3.de/downloads/software/firmware/hm-es-tx-wm_update_v1_2_160628.tgz
     2019-10-19 19:42:25   fw_link-08      https://www.eq-3.de/downloads/software/firmware/hm-ou-cfm-tw_update_v1_3_160620.tgz
     2019-10-19 19:42:25   fw_link-09      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1t-pl-3_update_v2_9_0005_150730.tar.gz
     2019-10-19 19:42:25   fw_link-10      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1l-pl-3_update_v2_9_0007_150803.tar.gz
     2019-10-19 19:42:25   fw_link-11      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1tpbu-fm_update_v2_9_0005_150730.tar.gz
     2019-10-19 19:42:25   fw_link-12      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1pwm-cv_update_v2_9_0005_150730.tar.gz
     2019-10-19 19:42:25   fw_link-13      https://www.eq-3.de/downloads/software/firmware/hm_tc_it_wm_w_eu_update_v1_3_002_150827.tgz
     2019-10-19 19:42:25   fw_link-14      https://www.eq-3.de/downloads/software/firmware/hm-lc-sw1pbu-fm_update_v2_8_2_150713.tgz
     2019-10-19 19:42:25   fw_link-15      https://www.eq-3.de/downloads/software/firmware/hm-sen-mdir-wm55_update_v1_1_2_150413.tgz
     2019-10-19 19:42:25   fw_link-16      https://www.eq-3.de/downloads/software/firmware/hm_cc_rt_dn_update_v1_4_001_141020.tgz
     2019-10-19 19:42:25   fw_link-17      https://www.eq-3.de/downloads/software/firmware/hm-sen-rd-o_update_v1_4_003_130930.tgz
     2019-10-19 19:42:25   fw_link-18      https://www.eq-3.de/downloads/software/firmware/hm-lc-bl1pbu-fm_update_v2_3_0002_131204.tgz
     2019-10-19 19:42:25   newFwForDevices no fw-updates needed!
   REQUEST:
     data       suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.eq-3.de/ajax/downloads/downloads_eq3.php
     value      0
   defptr:
     readingBase:
       changeLog_link-01 reading
       changeLog_link-02 reading
       changeLog_link-03 reading
       changeLog_link-04 reading
       changeLog_link-05 reading
       changeLog_link-06 reading
       changeLog_link-07 reading
       changeLog_link-08 reading
       changeLog_link-09 reading
       changeLog_link-10 reading
       changeLog_link-11 reading
       changeLog_link-12 reading
       changeLog_link-13 reading
       changeLog_link-14 reading
       changeLog_link-15 reading
       changeLog_link-16 reading
       changeLog_link-17 reading
       changeLog_link-18 reading
       fw_link-01 reading
       fw_link-02 reading
       fw_link-03 reading
       fw_link-04 reading
       fw_link-05 reading
       fw_link-06 reading
       fw_link-07 reading
       fw_link-08 reading
       fw_link-09 reading
       fw_link-10 reading
       fw_link-11 reading
       fw_link-12 reading
       fw_link-13 reading
       fw_link-14 reading
       fw_link-15 reading
       fw_link-16 reading
       fw_link-17 reading
       fw_link-18 reading
     readingNum:
       changeLog_link-01 02
       changeLog_link-02 02
       changeLog_link-03 02
       changeLog_link-04 02
       changeLog_link-05 02
       changeLog_link-06 02
       changeLog_link-07 02
       changeLog_link-08 02
       changeLog_link-09 02
       changeLog_link-10 02
       changeLog_link-11 02
       changeLog_link-12 02
       changeLog_link-13 02
       changeLog_link-14 02
       changeLog_link-15 02
       changeLog_link-16 02
       changeLog_link-17 02
       changeLog_link-18 02
       fw_link-01 01
       fw_link-02 01
       fw_link-03 01
       fw_link-04 01
       fw_link-05 01
       fw_link-06 01
       fw_link-07 01
       fw_link-08 01
       fw_link-09 01
       fw_link-10 01
       fw_link-11 01
       fw_link-12 01
       fw_link-13 01
       fw_link-14 01
       fw_link-15 01
       fw_link-16 01
       fw_link-17 01
       fw_link-18 01
     readingOutdated:
     readingSubNum:
       changeLog_link-01 -1
       changeLog_link-02 -2
       changeLog_link-03 -3
       changeLog_link-04 -4
       changeLog_link-05 -5
       changeLog_link-06 -6
       changeLog_link-07 -7
       changeLog_link-08 -8
       changeLog_link-09 -9
       changeLog_link-10 -10
       changeLog_link-11 -11
       changeLog_link-12 -12
       changeLog_link-13 -13
       changeLog_link-14 -14
       changeLog_link-15 -15
       changeLog_link-16 -16
       changeLog_link-17 -17
       changeLog_link-18 -18
       fw_link-01 -1
       fw_link-02 -2
       fw_link-03 -3
       fw_link-04 -4
       fw_link-05 -5
       fw_link-06 -6
       fw_link-07 -7
       fw_link-08 -8
       fw_link-09 -9
       fw_link-10 -10
       fw_link-11 -11
       fw_link-12 -12
       fw_link-13 -13
       fw_link-14 -14
       fw_link-15 -15
       fw_link-16 -16
       fw_link-17 -17
       fw_link-18 -18
     requestReadings:
       update:
         changeLog_link-01 reading 02-1
         changeLog_link-02 reading 02-2
         changeLog_link-03 reading 02-3
         changeLog_link-04 reading 02-4
         changeLog_link-05 reading 02-5
         changeLog_link-06 reading 02-6
         changeLog_link-07 reading 02-7
         changeLog_link-08 reading 02-8
         changeLog_link-09 reading 02-9
         changeLog_link-10 reading 02-10
         changeLog_link-11 reading 02-11
         changeLog_link-12 reading 02-12
         changeLog_link-13 reading 02-13
         changeLog_link-14 reading 02-14
         changeLog_link-15 reading 02-15
         changeLog_link-16 reading 02-16
         changeLog_link-17 reading 02-17
         changeLog_link-18 reading 02-18
         fw_link-01 reading 01-1
         fw_link-02 reading 01-2
         fw_link-03 reading 01-3
         fw_link-04 reading 01-4
         fw_link-05 reading 01-5
         fw_link-06 reading 01-6
         fw_link-07 reading 01-7
         fw_link-08 reading 01-8
         fw_link-09 reading 01-9
         fw_link-10 reading 01-10
         fw_link-11 reading 01-11
         fw_link-12 reading 01-12
         fw_link-13 reading 01-13
         fw_link-14 reading 01-14
         fw_link-15 reading 01-15
         fw_link-16 reading 01-16
         fw_link-17 reading 01-17
         fw_link-18 reading 01-18
   sslargs:
Attributes:
   alias      eQ3
   alignTime  00:45
   enableControlSet 1
   event-on-change-reading .*
   event-on-update-reading LAST_ERROR,MATCHED_READINGS
   eventMap   reread:Neuanfrage
   group      .Firmware Updates
   httpVersion 1.1
   model      CUL_HM_firmware_update_downloader
   reading01AutoNumLen 2
   reading01Format https://www.eq-3.de%s
   reading01Name fw_link
   reading01RegOpt gi
   reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
   reading02AutoNumLen 2
   reading02Name changeLog_link
   reading02OExpr $val=~m/(\/downloads\/software\/firmware\/[^"]+)/?"https://www.eq-3.de".$1:"none"
   reading02RegOpt gis
   reading02Regex (.{300})<a.href="\/downloads\/software\/firmware\/hm[^"]+
   readingMaxAge 10
   readingMaxAgeReplacementMode delete
   requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
   room       _HM
   showError  1
   showMatched 1
   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 | release    |<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("%-80s",$check);;
      $ret .= '</b> |';;
    } elsif($check eq "error => no or wrong data from eq3-server!") {
      $ret .= '| <b style="color:red">';;
      $ret .= sprintf("%-80s",$check);;
      $ret .= '</b> |';;
    } else {
      my @devices = split(',',$check);;
      foreach my $devStr (@devices) {
        my ($dev,$md,$ofw,$idx_fw,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;
        my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");;
        my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");;
        $ret .= '| <b><a href="/fhem?detail='.$dev.'">';;
        $ret .= sprintf("%-23s",$dev);;
        $ret .= '</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.'">';;
        $ret .= '<b style="color:red">';;
        $ret .= sprintf("%6s",$nfw);;
        $ret .= '</b></a> | <b>';;
        $ret .= '<a title="open changeLog file" href="'.$cl_link.'"><b style="color:red">' if($cl_link ne "none");;
        $ret .= sprintf("%-10s",$date);;
        $ret .= '</b></a>' if($cl_link ne "none");;
        $ret .= " |<br>";;
      }
    }
    $ret .= '</pre></div>';;
  return $ret;;
}
   userReadings newFwForDevices:MATCHED_READINGS.* {
  my $ret = "";;
  my @data;;
  if (ReadingsVal($name,"UNMATCHED_READINGS","?") eq "") {
    my @eq3FwList = map{
      @data = ReadingsVal($name,"fw_link-".$_,"?") =~ m/firmware\/(.*?)_update_v([\d_]+)_(\d\d)(\d\d)(\d\d)/i;;
      $data[0] =~ s/_/-/g;;
      sprintf("%s:%s:%s.%s.%s:%s",$data[0],$data[1],$data[4],$data[3],"20".$data[2],$_);;
    } ReadingsVal($name,"MATCHED_READINGS","?") =~ m/fw_link-(\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 ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;;
        if(($nh > $h) || (($nh == $h) && ($nl > $l))) {
          $ret .= "," if($ret ne "");;
          $ret .= $dev." (".$md." | fw_".$v." => fw".$idx."_".$nh.".".$nl.($no?sprintf(".%d",$no):"")." | ".$date.")";;
        }
      }
    }
  } else {
    $ret = "error => no or wrong data from eq3-server!";;
  }
  return ($ret eq "")?"no fw-updates needed!":$ret;;
}
   userattr   enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex reading02AutoNumLen reading02Name reading02OExpr reading02RegOpt reading02Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete readingMaxAgeReplacementMode:text,reading,internal,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd
   verbose    0
   webCmd     reread


Wo muss ich noch ansetzten damit alle Links geprüft werden und die Updates auch ausgeführt werden?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

MadMax-FHEM

Es gibt doch mittlerweile ein Template für HTTPMOD: https://forum.fhem.de/index.php/topic,78501.msg974716.html#msg974716

Da sollte myUtils etc. unnötig sein...

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)

Otto123

Zitat von: Burny4600 am 19 Oktober 2019, 20:39:38

Eine Verständnisfrage habe ich zum Eintrag in der 99_myUtils.pm der userReadings und stateFormat Definition laut Wiki.
....
Warum definiert man diese in der 99_myUtils.pm wenn sie ohnehin wieder in die userReadings und stateFormat ausgelagert werden.
Ev. missverstehst Du da was? Im Wiki sind zwei Varianten dargestellt: Entweder macht man einen Aufruf in die 99_myUtils oder man kopiert den kompletten Code in die Attribute. Je nach dem wie man es schöner findet.

Und ein Firmware Update macht dieses Anzeige Tool doch nicht? Es zeigt Dir an welche gemacht werden könnten.
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

Burny4600

Da habe ich wirklich einiges falsch verstanden.
Nur das Tool zeigt mir keine Updates an.
Das sollte es ja auf jedenfall machen.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Otto123

Hallo Chris,

gib mal bitte ein Beispiel. Ich kann auf Anhieb keines Erkennen, da ich nicht alle Deine Geräte hab.

Gruß Otto
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

frank

die links der fw für rt (1.5) und tc (1.4) habe ich dir in deinem anderen thread extra rausgesucht, da sie nicht bei eq3 zu finden sind.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Burny4600

#97
@frank
Danke für die Links. Ich werde die Updates bei den Geräten testen ob sich eine Verbesserung ergibt.

@Otto
Das im Wiki zwei unterschiedliche Konfigurationen gibt habe ich verstanden.
Die erste Kurzfassung mit der Konfiguration
define eq3test HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
und anschließendem
set eq3test attrTemplate CUL_HM_firmware_update_downloader
vervollständigt die Attribute
list eq3test
Internals:
   BUSY       0
   CFGFN     
   DEF        https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
   FUUID      5dac4614-f33f-21bc-ca77-26bc71a8ded742cb
   Interval   604800
   LASTSEND   1571571222.46031
   MainURL    https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   MaxAgeEnabled 1
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       eq3test
   NOTIFYDEV  global
   NR         11766
   NTFY_ORDER 50-eq3test
   STATE      <div style="text-align:left">last <a title="eq3-downloads" href="http://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => ???<br><br><pre>| device                  | model                   | cur_fw | new_fw | release    |<br>------------------------------------------------------------------------------------<br>| <b style="color:red">error => no or wrong data from eq3-server!                                      </b> |</pre></div>
   TRIGGERTIME 1572129900
   TRIGGERTIME_FMT 2019-10-27 00:45:00
   TYPE       HTTPMOD
   TimeAlign  1571525100
   TimeAlignFmt 2019-10-20 00:45:00
   addr       https://www.eq-3.de:443
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   header     
   host       www.eq-3.de
   httpheader HTTP/1.1 200 OK
Date: Sun, 20 Oct 2019 11:33:43 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9
X-Powered-By: PHP/7.1.15
Strict-Transport-Security: max-age=15768000
Connection: close
Content-Type: text/html; charset=UTF-8
   httpversion 1.0
   hu_blocking 0
   hu_filecount 1
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /ajax/downloads/downloads_eq3.php
   protocol   https
   redirects  0
   timeout    2
   url        https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   value      0
   QUEUE:
   READINGS:
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.eq-3.de/ajax/downloads/downloads_eq3.php
     value      0
   sslargs:
Attributes:
   alignTime  00:45
   enableControlSet 1
   event-on-change-reading .*
   event-on-update-reading LAST_ERROR,MATCHED_READINGS
   httpVersion 1.1
   model      CUL_HM_firmware_update_downloader
   reading01AutoNumLen 2
   reading01Format https://www.eq-3.de%s
   reading01Name fw_link
   reading01RegOpt gi
   reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
   reading02AutoNumLen 2
   reading02Name changeLog_link
   reading02OExpr $val=~m/(\/downloads\/software\/firmware\/[^"]+)/?"https://www.eq-3.de".$1:"none"
   reading02RegOpt gis
   reading02Regex (.{300})<a.href="\/downloads\/software\/firmware\/hm[^"]+
   readingMaxAge 10
   readingMaxAgeReplacementMode delete
   requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
   room       CUL_HM
   showError  1
   showMatched 1
   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 | release    |<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("%-80s",$check);;
      $ret .= '</b> |';;
    } elsif($check eq "error => no or wrong data from eq3-server!") {
      $ret .= '| <b style="color:red">';;
      $ret .= sprintf("%-80s",$check);;
      $ret .= '</b> |';;
    } else {
      my @devices = split(',',$check);;
      foreach my $devStr (@devices) {
        my ($dev,$md,$ofw,$idx_fw,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;
        my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");;
        my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");;
        $ret .= '| <b><a href="/fhem?detail='.$dev.'">';;
        $ret .= sprintf("%-23s",$dev);;
        $ret .= '</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.'">';;
        $ret .= '<b style="color:red">';;
        $ret .= sprintf("%6s",$nfw);;
        $ret .= '</b></a> | <b>';;
        $ret .= '<a title="open changeLog file" href="'.$cl_link.'"><b style="color:red">' if($cl_link ne "none");;
        $ret .= sprintf("%-10s",$date);;
        $ret .= '</b></a>' if($cl_link ne "none");;
        $ret .= " |<br>";;
      }
    }
    $ret .= '</pre></div>';;
  return $ret;;
}
   userReadings newFwForDevices:MATCHED_READINGS.* {
  my $ret = "";;
  my @data;;
  if (ReadingsVal($name,"UNMATCHED_READINGS","?") eq "") {
    my @eq3FwList = map{
      @data = ReadingsVal($name,"fw_link-".$_,"?") =~ m/firmware\/(.*?)_update_v([\d_]+)_(\d\d)(\d\d)(\d\d)/i;;
      $data[0] =~ s/_/-/g;;
      sprintf("%s:%s:%s.%s.%s:%s",$data[0],$data[1],$data[4],$data[3],"20".$data[2],$_);;
    } ReadingsVal($name,"MATCHED_READINGS","?") =~ m/fw_link-(\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 ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;;
        if(($nh > $h) || (($nh == $h) && ($nl > $l))) {
          $ret .= "," if($ret ne "");;
          $ret .= $dev." (".$md." | fw_".$v." => fw".$idx."_".$nh.".".$nl.($no?sprintf(".%d",$no):"")." | ".$date.")";;
        }
      }
    }
  } else {
    $ret = "error => no or wrong data from eq3-server!";;
  }
  return ($ret eq "")?"no fw-updates needed!":$ret;;
}
   userattr   enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex reading02AutoNumLen reading02Name reading02OExpr reading02RegOpt reading02Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete readingMaxAgeReplacementMode:text,reading,internal,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd
   webCmd     reread

Mir ist aufgefallen, dass die Commandref Anleitung zu
set eq3 attrTemplate CUL_HM_firmware_update_downloader
als Information nicht korrekt ist.

Bei der Variante mit der manuellen Konfiguration.
list eQ3
Internals:
   BUSY       0
   CFGFN      /media/hdd/fhem/mycfg/HM/hm_rasp01.cfg
   DEF        https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
   FUUID      5c45b04f-f33f-f4d2-e8ac-6e95ed4c33510da6
   Interval   604800
   LASTSEND   1571572157.87573
   MainURL    https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   MaxAgeEnabled 1
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       eQ3
   NOTIFYDEV  global
   NR         4212
   NTFY_ORDER 50-eQ3
   STATE      <div style="text-align:left">last <a title="eq3-downloads" href="https://www.eq-3.de/service/downloads.html">homematic</a>-fw-check => 2019-10-20 13:49:20<br><br><pre>| device                  | model                   | cur_fw | new_fw | release    |<br>------------------------------------------------------------------------------------<br>| <b style="color:green">no fw-updates needed!                                                           </b> |</pre></div>
   TRIGGERTIME 1572129900
   TRIGGERTIME_FMT 2019-10-27 00:45:00
   TYPE       HTTPMOD
   TimeAlign  1571525100
   TimeAlignFmt 2019-10-20 00:45:00
   addr       https://www.eq-3.de:443
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
   displayurl https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   header     
   host       www.eq-3.de
   httpheader HTTP/1.1 200 OK
Date: Sun, 20 Oct 2019 11:49:19 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9
X-Powered-By: PHP/7.1.15
Strict-Transport-Security: max-age=15768000
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
   httpversion 1.1
   hu_blocking 0
   hu_filecount 4
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /ajax/downloads/downloads_eq3.php
   protocol   https
   redirects  0
   timeout    2
   url        https://www.eq-3.de/ajax/downloads/downloads_eq3.php
   value      0
   QUEUE:
   READINGS:
     2019-10-20 13:23:12   LAST_ERROR      read from https://www.eq-3.de:443 timed out
     2019-10-20 13:49:20   LAST_REQUEST    update
     2019-10-20 13:49:20   MATCHED_READINGS fw_link-01 fw_link-02 fw_link-03 fw_link-04 fw_link-05 fw_link-06 fw_link-07 fw_link-08 fw_link-09 fw_link-10 fw_link-11 fw_link-12 fw_link-13 fw_link-14 fw_link-15 fw_link-16 fw_link-17 fw_link-18 changeLog_link-01 changeLog_link-02 changeLog_link-03 changeLog_link-04 changeLog_link-05 changeLog_link-06 changeLog_link-07 changeLog_link-08 changeLog_link-09 changeLog_link-10 changeLog_link-11 changeLog_link-12 changeLog_link-13 changeLog_link-14 changeLog_link-15 changeLog_link-16 changeLog_link-17 changeLog_link-18
     2019-10-20 13:49:20   UNMATCHED_READINGS
     2019-10-20 13:49:20   changeLog_link-01 https://www.eq-3.de/downloads/software/firmware/changelog_HM-ES-TX-WM_update_V2_2_190619_1.txt
     2019-10-20 13:49:20   changeLog_link-02 https://www.eq-3.de/downloads/software/firmware/changelog_hm-mod-re-8_update_v1_2_150911.txt
     2019-10-20 13:49:20   changeLog_link-03 https://www.eq-3.de/downloads/software/firmware/changelog_hm_dis_ep_wm55_update_v1_2_170129.txt
     2019-10-20 13:49:20   changeLog_link-04 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-bl1pbu-fm_update_v2_11_1_161212.txt
     2019-10-20 13:49:20   changeLog_link-05 https://www.eq-3.de/downloads/software/firmware/changelog_hm-es-pmsw1-pl-dn-r1_update_v2_5_0009_150217.txt
     2019-10-20 13:49:20   changeLog_link-06 https://www.eq-3.de/downloads/software/firmware/changelog_hm-sen-mdir-wm55_update_v1_2_0_160825.txt
     2019-10-20 13:49:20   changeLog_link-07 https://www.eq-3.de/downloads/software/firmware/changelog_hm-es-tx-wm_update_v1_2_160628.txt
     2019-10-20 13:49:20   changeLog_link-08 https://www.eq-3.de/downloads/software/firmware/changelog_hm-ou-cfm-tw_update_v1_3_160620.txt
     2019-10-20 13:49:20   changeLog_link-09 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1t-pl-3_update_v2_9_0005_160113.txt
     2019-10-20 13:49:20   changeLog_link-10 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1l-pl-3_update_v2_9_0007_160113.txt
     2019-10-20 13:49:20   changeLog_link-11 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1tpbu-fm_update_v2_9_0005_160113.txt
     2019-10-20 13:49:20   changeLog_link-12 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-dim1pwm-cv_update_v2_9_0005_160113g.txt
     2019-10-20 13:49:20   changeLog_link-13 https://www.eq-3.de/downloads/software/firmware/changelog_hm_tc_it_wm_w_eu_update_v1_3_002_150827.txt
     2019-10-20 13:49:20   changeLog_link-14 https://www.eq-3.de/downloads/software/firmware/changelog_hm-lc-sw1pbu-fm.txt
     2019-10-20 13:49:20   changeLog_link-15 none
     2019-10-20 13:49:20   changeLog_link-16 none
     2019-10-20 13:49:20   changeLog_link-17 none
     2019-10-20 13:49:20   changeLog_link-18 none
     2019-10-20 13:49:20   fw_link-01      https://www.eq-3.de/downloads/software/firmware/HM-ES-TX-WM_update_V2_2_190619_1.tgz
     2019-10-20 13:49:20   fw_link-02      https://www.eq-3.de/downloads/software/firmware/hm-mod-re-8_update_v1_2_150911.tgz
     2019-10-20 13:49:20   fw_link-03      https://www.eq-3.de/downloads/software/firmware/hm_dis_ep_wm55_update_v1_2_170129.tgz
     2019-10-20 13:49:20   fw_link-04      https://www.eq-3.de/downloads/software/firmware/hm-lc-bl1pbu-fm_update_v2_11_1_161212.tgz
     2019-10-20 13:49:20   fw_link-05      https://www.eq-3.de/downloads/software/firmware/hm-es-pmsw1-pl-dn-r1_update_v2_5_0009_150217.tgz
     2019-10-20 13:49:20   fw_link-06      https://www.eq-3.de/downloads/software/firmware/hm-sen-mdir-wm55_update_v1_2_0_160825.tgz
     2019-10-20 13:49:20   fw_link-07      https://www.eq-3.de/downloads/software/firmware/hm-es-tx-wm_update_v1_2_160628.tgz
     2019-10-20 13:49:20   fw_link-08      https://www.eq-3.de/downloads/software/firmware/hm-ou-cfm-tw_update_v1_3_160620.tgz
     2019-10-20 13:49:20   fw_link-09      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1t-pl-3_update_v2_9_0005_150730.tar.gz
     2019-10-20 13:49:20   fw_link-10      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1l-pl-3_update_v2_9_0007_150803.tar.gz
     2019-10-20 13:49:20   fw_link-11      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1tpbu-fm_update_v2_9_0005_150730.tar.gz
     2019-10-20 13:49:20   fw_link-12      https://www.eq-3.de/downloads/software/firmware/hm-lc-dim1pwm-cv_update_v2_9_0005_150730.tar.gz
     2019-10-20 13:49:20   fw_link-13      https://www.eq-3.de/downloads/software/firmware/hm_tc_it_wm_w_eu_update_v1_3_002_150827.tgz
     2019-10-20 13:49:20   fw_link-14      https://www.eq-3.de/downloads/software/firmware/hm-lc-sw1pbu-fm_update_v2_8_2_150713.tgz
     2019-10-20 13:49:20   fw_link-15      https://www.eq-3.de/downloads/software/firmware/hm-sen-mdir-wm55_update_v1_1_2_150413.tgz
     2019-10-20 13:49:20   fw_link-16      https://www.eq-3.de/downloads/software/firmware/hm_cc_rt_dn_update_v1_4_001_141020.tgz
     2019-10-20 13:49:20   fw_link-17      https://www.eq-3.de/downloads/software/firmware/hm-sen-rd-o_update_v1_4_003_130930.tgz
     2019-10-20 13:49:20   fw_link-18      https://www.eq-3.de/downloads/software/firmware/hm-lc-bl1pbu-fm_update_v2_3_0002_131204.tgz
     2019-10-20 13:49:20   newFwForDevices no fw-updates needed!
   REQUEST:
     data       suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.eq-3.de/ajax/downloads/downloads_eq3.php
     value      0
   defptr:
     readingBase:
       changeLog_link-01 reading
       changeLog_link-02 reading
       changeLog_link-03 reading
       changeLog_link-04 reading
       changeLog_link-05 reading
       changeLog_link-06 reading
       changeLog_link-07 reading
       changeLog_link-08 reading
       changeLog_link-09 reading
       changeLog_link-10 reading
       changeLog_link-11 reading
       changeLog_link-12 reading
       changeLog_link-13 reading
       changeLog_link-14 reading
       changeLog_link-15 reading
       changeLog_link-16 reading
       changeLog_link-17 reading
       changeLog_link-18 reading
       fw_link-01 reading
       fw_link-02 reading
       fw_link-03 reading
       fw_link-04 reading
       fw_link-05 reading
       fw_link-06 reading
       fw_link-07 reading
       fw_link-08 reading
       fw_link-09 reading
       fw_link-10 reading
       fw_link-11 reading
       fw_link-12 reading
       fw_link-13 reading
       fw_link-14 reading
       fw_link-15 reading
       fw_link-16 reading
       fw_link-17 reading
       fw_link-18 reading
     readingNum:
       changeLog_link-01 02
       changeLog_link-02 02
       changeLog_link-03 02
       changeLog_link-04 02
       changeLog_link-05 02
       changeLog_link-06 02
       changeLog_link-07 02
       changeLog_link-08 02
       changeLog_link-09 02
       changeLog_link-10 02
       changeLog_link-11 02
       changeLog_link-12 02
       changeLog_link-13 02
       changeLog_link-14 02
       changeLog_link-15 02
       changeLog_link-16 02
       changeLog_link-17 02
       changeLog_link-18 02
       fw_link-01 01
       fw_link-02 01
       fw_link-03 01
       fw_link-04 01
       fw_link-05 01
       fw_link-06 01
       fw_link-07 01
       fw_link-08 01
       fw_link-09 01
       fw_link-10 01
       fw_link-11 01
       fw_link-12 01
       fw_link-13 01
       fw_link-14 01
       fw_link-15 01
       fw_link-16 01
       fw_link-17 01
       fw_link-18 01
     readingOutdated:
     readingSubNum:
       changeLog_link-01 -1
       changeLog_link-02 -2
       changeLog_link-03 -3
       changeLog_link-04 -4
       changeLog_link-05 -5
       changeLog_link-06 -6
       changeLog_link-07 -7
       changeLog_link-08 -8
       changeLog_link-09 -9
       changeLog_link-10 -10
       changeLog_link-11 -11
       changeLog_link-12 -12
       changeLog_link-13 -13
       changeLog_link-14 -14
       changeLog_link-15 -15
       changeLog_link-16 -16
       changeLog_link-17 -17
       changeLog_link-18 -18
       fw_link-01 -1
       fw_link-02 -2
       fw_link-03 -3
       fw_link-04 -4
       fw_link-05 -5
       fw_link-06 -6
       fw_link-07 -7
       fw_link-08 -8
       fw_link-09 -9
       fw_link-10 -10
       fw_link-11 -11
       fw_link-12 -12
       fw_link-13 -13
       fw_link-14 -14
       fw_link-15 -15
       fw_link-16 -16
       fw_link-17 -17
       fw_link-18 -18
     requestReadings:
       update:
         changeLog_link-01 reading 02-1
         changeLog_link-02 reading 02-2
         changeLog_link-03 reading 02-3
         changeLog_link-04 reading 02-4
         changeLog_link-05 reading 02-5
         changeLog_link-06 reading 02-6
         changeLog_link-07 reading 02-7
         changeLog_link-08 reading 02-8
         changeLog_link-09 reading 02-9
         changeLog_link-10 reading 02-10
         changeLog_link-11 reading 02-11
         changeLog_link-12 reading 02-12
         changeLog_link-13 reading 02-13
         changeLog_link-14 reading 02-14
         changeLog_link-15 reading 02-15
         changeLog_link-16 reading 02-16
         changeLog_link-17 reading 02-17
         changeLog_link-18 reading 02-18
         fw_link-01 reading 01-1
         fw_link-02 reading 01-2
         fw_link-03 reading 01-3
         fw_link-04 reading 01-4
         fw_link-05 reading 01-5
         fw_link-06 reading 01-6
         fw_link-07 reading 01-7
         fw_link-08 reading 01-8
         fw_link-09 reading 01-9
         fw_link-10 reading 01-10
         fw_link-11 reading 01-11
         fw_link-12 reading 01-12
         fw_link-13 reading 01-13
         fw_link-14 reading 01-14
         fw_link-15 reading 01-15
         fw_link-16 reading 01-16
         fw_link-17 reading 01-17
         fw_link-18 reading 01-18
   sslargs:
Attributes:
   alias      eQ3
   alignTime  00:45
   enableControlSet 1
   event-on-change-reading .*
   event-on-update-reading LAST_ERROR,MATCHED_READINGS
   eventMap   reread:Neuanfrage
   group      .Firmware Updates
   httpVersion 1.1
   model      CUL_HM_firmware_update_downloader
   reading01AutoNumLen 2
   reading01Format https://www.eq-3.de%s
   reading01Name fw_link
   reading01RegOpt gi
   reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
   reading02AutoNumLen 2
   reading02Name changeLog_link
   reading02OExpr $val=~m/(\/downloads\/software\/firmware\/[^"]+)/?"https://www.eq-3.de".$1:"none"
   reading02RegOpt gis
   reading02Regex (.{300})<a.href="\/downloads\/software\/firmware\/hm[^"]+
   readingMaxAge 10
   readingMaxAgeReplacementMode delete
   requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
   room       CUL_HM,_HM
   showError  1
   showMatched 1
   stateFormat {eq3StateFormat($name)}
   userReadings newFwForDevices:MATCHED_READINGS:.* {eq3Attr($name)}
   userattr   enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex reading02AutoNumLen reading02Name reading02OExpr reading02RegOpt reading02Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete readingMaxAgeReplacementMode:text,reading,internal,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd
   verbose    0
   webCmd     reread


Bei beiden Konfiguration gibt es drei Links wo meine Gerätetypen vorhanden sind.
HM-OU-CFM-TW
HM-LC-SW1PBU-FM
HM-SEN-RD-O

Ich bin davon ausgegangen das zumindest diese drei Typen auch geprüft werden und auch bei dem Prüftool angezeigt werden.
Die restlichen Gerätetypen sind nicht in der Überprüfung vorhanden. Ist halt so.
Wie findet man die eQ3 Firmware die nicht auf der öffentklichen Seite angeführt werden?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Otto123

Danke für den Hinweis, ich habe das im Wiki korrigiert  :D
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

OdfFhem

@Beta-User

Hallo,

unten habe ich eine leicht angepasste template-Version für CUL_HM_firmware_update_downloader bereitgestellt:


  • Attribut userattr wurde verändert:

    • viele unnütze Attributnamen (z.B. event-on-change-reading) gelöscht, da sie zum Standard gehören.
    • sämtliche reading02-Attributnamen (z.B. reading02Name) ergänzt, da sie nicht zum Standard gehören und somit fehlten.
    • da es aktuell (wohl) ein Problem mit readingMaxAgeReplacementMode gibt, wurde der parameterlose Attributname gelöscht - die parametriesierte Variante für den gleichen Attributnamen blieb erhalten. Das Problem ist auch der Grund, warum die userattr-Zuweisung ans Template-Ende gewandert ist; letztlich wird der fehlerhaft generierte Attributwert im finalen Schritt noch einmal korrigiert.

  • Attribut stateFormat wurde verändert:

    • für die erste Spalte (device) fehlte der abschließende b-Tag.
    • die letzte Spalte (release) hatte ein überflüssiges, öffnendes b-Tag.
    • alle Spalten werden fett und normalerweise in lightgray dargestellt. Andersfarbig wird ein Eintrag nur dann, wenn er anklickbar ist oder einen Hinweis darstellt.


Vielleicht finden die Änderungen so oder so ähnlich ihren Weg ins offizielle Update ...

Viele Grüße


#################################
#Show updates for CUL_HM devices, Forum: https://forum.fhem.de/index.php/topic,78501.msg972144.html#msg972144
name:CUL_HM_firmware_update_downloader
filter:TYPE=HTTPMOD
desc: Check eQ3 homepage for available new firmware files; provides also links for direct downloads<br>Define a HTTPMOD device like <br>define eq3 HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800<br><a href="https://https://forum.fhem.de/index.php/topic,78501.msg972144.html#msg972144">Source: Forum</a><br><a href="https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update#Basis-Definitionen_f.C3.BCr_Device_eq3">Wiki</a>
order:X_01a
par:WHICHROOM;Actual room of the device; {AttrVal("DEVICE","room","CUL_HM" )}
defmod DEVICE HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
attr DEVICE alignTime 00:45
attr DEVICE enableControlSet 1
attr DEVICE event-on-change-reading .*
attr DEVICE event-on-update-reading LAST_ERROR,MATCHED_READINGS
attr DEVICE httpVersion 1.1
attr DEVICE reading01AutoNumLen 2
attr DEVICE reading01Format https://www.eq-3.de%s
attr DEVICE reading01Name fw_link
attr DEVICE reading01RegOpt gi
attr DEVICE reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
attr DEVICE reading02AutoNumLen 2
attr DEVICE reading02Name changeLog_link
attr DEVICE reading02OExpr $val=~m/(\/downloads\/software\/firmware\/[^"]+)/?"https://www.eq-3.de".$1:"none"
attr DEVICE reading02RegOpt gis
attr DEVICE reading02Regex (.{300})<a.href="\/downloads\/software\/firmware\/hm[^"]+
attr DEVICE readingMaxAge 10
attr DEVICE readingMaxAgeReplacementMode delete
attr DEVICE requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
attr DEVICE room WHICHROOM
attr DEVICE showError 1
attr DEVICE showMatched 1
attr DEVICE 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 | release    |<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("%-80s",$check);;\
      $ret .= '</b> |';;\
    } elsif($check eq "error => no or wrong data from eq3-server!") {\
      $ret .= '| <b style="color:red">';;\
      $ret .= sprintf("%-80s",$check);;\
      $ret .= '</b> |';;\
    } else {\
      my @devices = split(',',$check);;\
      foreach my $devStr (@devices) {\
        my ($dev,$md,$ofw,$idx_fw,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;;\
        my $fw_link = ReadingsVal($name,"fw_link-".$idx_fw,"???");;\
        my $cl_link = ReadingsVal($name,"changeLog_link-".$idx_fw,"???");;\
        $ret .= '| <a href="/fhem?detail='.$dev.'"><b>';;\
        $ret .= sprintf("%-23s",$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.'"><b style="color:red">';;\
        $ret .= sprintf("%6s",$nfw);;\
        $ret .= '</b></a> | ';;\
        $ret .= (($cl_link ne "none")?'<a title="open changeLog file" href="'.$cl_link.'"><b style="color:black">':'<b style="color:lightgray">');;\
        $ret .= sprintf("%-10s",$date);;\
        $ret .= (($cl_link ne "none")?'</b></a>':'</b>');;\
        $ret .= " |<br>";;\
      }\
    }\
    $ret .= '</pre></div>';;\
  return $ret;;\
}
attr DEVICE userReadings newFwForDevices:MATCHED_READINGS.* {\
  my $ret = "";;\
  my @data;;\
  if (ReadingsVal($name,"UNMATCHED_READINGS","?") eq "") {\
    my @eq3FwList = map{\
      @data = ReadingsVal($name,"fw_link-".$_,"?") =~ m/firmware\/(.*?)_update_v([\d_]+)_(\d\d)(\d\d)(\d\d)/i;;\
      $data[0] =~ s/_/-/g;;\
      sprintf("%s:%s:%s.%s.%s:%s",$data[0],$data[1],$data[4],$data[3],"20".$data[2],$_);;\
    } ReadingsVal($name,"MATCHED_READINGS","?") =~ m/fw_link-(\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 ($nh,$nl,$no,$date,$idx) = $newFw =~ m/^[^:]+:(\d+)_(\d+)_?(\d*):([^:]+):(\d\d)$/;;\
        if(($nh > $h) || (($nh == $h) && ($nl > $l))) {\
          $ret .= "," if($ret ne "");;\
          $ret .= $dev." (".$md." | fw_".$v." => fw".$idx."_".$nh.".".$nl.($no?sprintf(".%d",$no):"")." | ".$date.")";;\
        }\
      }\
    }\
  } else {\
    $ret = "error => no or wrong data from eq3-server!";;\
  }\
  return ($ret eq "")?"no fw-updates needed!":$ret;;\
}
attr DEVICE webCmd reread
attr DEVICE model CUL_HM_firmware_update_downloader
attr DEVICE userattr reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01Regex reading02AutoNumLen reading02Name reading02OExpr reading02RegOpt reading02Regex readingMaxAge readingMaxAgeReplacementMode:text,reading,internal,expression,delete

MadMax-FHEM

Ich finde das mit den Templates ja grandios!

Vielen Dank dafür!

Allerdings habe ich eine Frage:

wenn es ein Update gibt und ich fhem update...
...wird dann automatisch das neue Template aktiv/aktiviert (also klar ich muss es mind. schon einmal wo verwendet haben ;)  )?

Oder was muss ich tun, damit ich die Neuerung(en) des Templates nach update "erhalte"!?
(und wenn ich manuell was tun muss: wie bekomme ich mit, dass es für eines von mir verwendeter Templates ein Update gibt?)

Danke, 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)

Beta-User

Danke für die Rückmeldung zum Thema attrTemplate :) .

Finde auch super, was Rudi da als Framework bereitgestellt hat!

ABER: Es funktioniert nichts automatisch, attrTemplate wird nur auf User-Initiative aktiv (es ist ein Eingriff in die Konfiguration! Attribute -  dafür ist es eigentlich gemacht - gehören qua Definition dem user...). Und ich habe nicht bei allen template-Änderungen zu großen Wert auf Rückwärtskompabilität gelegt (in der Regel ist das aber auch kein Problem, das betraf tendenziell die Anfangszeit bei den Tasmotas, jetzt evtl. mal die zigbee2mqtt-Geschichten, weil ich am Überlegne bin, ob z.B. beim contact-Sensor nicht "contact" zu "state" werden sollte).

Um updates zu verfolgen, hilft (zumindest derzeit) nur der Blick in das Changelog des betreffenden template-files, Versionsangaben usw. werden derzeit nicht gepflegt und können auch nicht ausgewertet werden.

"An sich" sollte es auch so sein, dass das Device nach Anwendung des templates dann so ist, wie du dir das vorstellst (bzw. du dann auf der Basis weitermachst), also gar kein Bedarf besteht, das nochmal anzufassen...



@OdfFhem: Thx, werde das testen, sieht nach einem sinnvollen Vorschlag aus. Wenn jemand anderes nach Test sein OK gibt, kommt's auch gerne direkt in's svn.



(Btw. @all: ich bin nach wie vor nicht der Regex- oder HTTPMOD-Experte, wenn also jemand da (v.a. für HTTPMOD mit) als Maintainer einspringen will: sehr gerne! Ich habe bisher auch eher "kuratiert" als "developer" gespielt, vielleicht abgesehen von ein paar Anregungen, die Rudi dann in Code umgewandelt hat... ::) . Das ganze ist also kein Hexenwerk, und man kann eigentlich auch keine laufende Installation ohne weiteres mit templates "zerschießen", s.o.. Höchstens mal eben nicht funktionierenden Konfigurationscode ausliefern, was mir schon gelegentlich untergekommen ist  ::) ::) ::) ...)
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

Beta-User

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

Kai-Alfonso

Guten Morgen,

ich bin zufällig über diesen Thread gestolpert. Ich habe irgendwann mal das alte Beispiel im Wiki probiert, da kam aber (wie hier am Anfang geschrieben) eine Fehlermeldung. Hab das Device dann gelöscht und nicht mehr drüber nachgedacht. Hab dann, nachdem ich den Thread hier gelesen habe, noch mal einen neuen Versuch gestartet mit

define eq3 HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800

und dann laut Wiki

set eq3 attrTemplate X_01a_CUL_HM_firmware_update_downloader

Wenn ich das richtig verstehe im Wiki sind die Skripts in der myUtils nicht mehr nötig?

Auf jeden Fall meldet jetzt das Device keinen Fehler meld, sondern

no fw-updates needed!

Ich hab jetzt nicht so viele verschiedene original HM Geräte, vor allem aber die HM-LC-BI1BPU-FM.

Laut Device-Reading habe ich die D-firmware2.11 auf den Aktoren, laut eq3 Seite gibt es aber schon eine 2.3 FW

Habe ich da noch was vergessen, das er die neue FW nicht erkennt?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Beta-User

Zitat von: Kai-Alfonso am 11 November 2019, 09:48:04
Laut Device-Reading habe ich die D-firmware2.11 auf den Aktoren, laut eq3 Seite gibt es aber schon eine 2.3 FW

Habe ich da noch was vergessen, das er die neue FW nicht erkennt?
Moin. MMn ist alles bestens, oder ist 2.11 nicht größer wie 2.3? (Kann sein, dass es auf der eQ3-Seite mehrere Firmwares gibt, aber schau ggf. auch mal das 2.11-er changelog an.)
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