eq3 firmware check funkioniert nicht mehr

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

Vorheriges Thema - Nächstes Thema

OdfFhem

Zitat von: frank am 08 September 2019, 12:39:57
https://forum.fhem.de/index.php/topic,78501.msg972863.html#msg972863
Zitat
1. datum als vergleich nicht nutzbar, da teilweise unterschiedlich.
2. sw1pbu hat nur model im file.
3. es müsste auch warnings in fhem.log geben, denke ich.

zu1) Das ist mir auch aufgefallen, aber ich habe mich für die Theorie entschieden: Entweder passen die relevanten Parameter alle oder der changeLog-Eintrag kann nicht zugeordnet werden.

zu 2) s. 1)

zu 3) Warnings im Log tauchen bei mir nicht auf. Ausnahme war beim (einmaligen) Übergang von altem zu neuem userReadings ...


Bei 1) bzw. 2) sehe ich zunächst auch nur die Möglichkeit, else-Fälle zu integrieren, die eine immer weiter abgeschwächte Übereinstimmung erfordern. Ob der changeLog-Eintrag dann wirklich passt, ist - insbesondere im Fall sw1pbu - Glückssache. Auf das Datum hingegen kann man wahrscheinlich auch verzichten, wenn der komplette Versions-Vergleich positiv ausfällt.


frank

#76
hiermit sollten alle changelog files funktionieren.

defmod eq3 HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 86400
attr eq3 enableControlSet 1
attr eq3 event-on-change-reading .*
attr eq3 event-on-update-reading LAST_ERROR,MATCHED_READINGS
attr eq3 httpVersion 1.1
attr eq3 reading01AutoNumLen 2
attr eq3 reading01Format https://www.eq-3.de%s
attr eq3 reading01Name fw_link
attr eq3 reading01RegOpt gi
attr eq3 reading01Regex <a.href="(\/downloads\/software\/firmware\/hm[^"]+)
attr eq3 reading02AutoNumLen 2
attr eq3 reading02Name changeLog_link
attr eq3 reading02OExpr $val=~m/(\/downloads\/software\/firmware\/[^"]+)/?"https://www.eq-3.de".$1:"none"
attr eq3 reading02RegOpt gis
attr eq3 reading02Regex (.{300})<a.href="\/downloads\/software\/firmware\/hm[^"]+
attr eq3 readingMaxAge 10
attr eq3 readingMaxAgeReplacementMode delete
attr eq3 requestData.* suchbegriff=&quelle=29&suchkategorie=3&themenbereich=1
attr eq3 room eq3
attr eq3 showError 1
attr eq3 showMatched 1
attr eq3 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>';; \
$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;; \
}
attr eq3 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 eq3 webCmd reread


geändert haben sich eigentlich nur die attr reading02.... und stateformat.
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

OdfFhem

@frank

Die Lösung mit dem Verbrauchen der Nummern bei Nichtvorhandensein eines Changelog gefällt mir sehr gut; dadurch entfällt das Rückwärtszuordnen vollständig und man hat erst gar keine Problemfälle.

Und das Beste: es funktioniert und man versteht es fast vollständig ;-)

Wichtig für den schnellen Test war bei mir noch, das alte Attribut reading02Format zu löschen; ansonsten gibt es Probleme.

Vielen Dank erst einmal für die deutlich kürzere Lösungsvariante.

Nobby1805

FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Otto123

@Frank Da bist Du Deiner eigenen Empfehlung aber untreu geworden ;)
Zitatdefmod eq3 HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 86400

Und es hat mich keiner korrigiert das ich im Wiki im userReadings nicht eq3 durch $name ersetzt habe  :-[ :'(
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

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

Beta-User

Hallo zusammen,

anbei mal die nächste Fassung für die httpmod.template-Datei (incl. alignTime) usw.. Vorteil: der Raum bleibt ggf. erhalten => das sollte also auch ohne weiteres dazu dienen können, zukünftig updates zu verteilen, man muß dann "nur" einfach das template nochmal anwenden...

Ich habe damit aber noch ein "Problemchen" bzw. eine Sache, bei der hier evtl. jemand weiß, ob und wie das geht (s.u.).#################################
#Show updates for CUL_HM devices, Forum: https://forum.fhem.de/index.php/topic,78501.msg972144.html#msg972144
name:X_01a_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><a href="/fhem?cmd.dummy=defmod%20eq3%20HTTPMOD%20https://www.eq-3.de/ajax/downloads/downloads_eq3.php%20604800&XHR=1">define eq3 HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800</a><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>
par:WHICHROOM;Room of the calling device; {AttrVal("DEVICE","room","CUL_HM" )}
defmod DEVICE HTTPMOD https://www.eq-3.de/ajax/downloads/downloads_eq3.php 604800
attr DEVICE userattr enableControlSet event-on-change-reading event-on-update-reading reading01AutoNumLen reading01Format reading01Name reading01RegOpt reading01RegOpt:s,i,g reading01Regex readingMaxAge readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,expression,delete readingMaxAgeReplacementMode:text,reading,internal,expression,delete requestData.* showError showMatched stateFormat userReadings webCmd
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>';;     \
    $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;; \
}
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

Was nicht geht: Bei "set <irgendein HTTPMOD> attrTemplate ?" erhält man eine Übersichtsliste, was es so alles gibt, mit links ins Wiki, forum usw.. Da wird jetzt bei diesem template ein cmd.dummy-Link angeboten, über den man das Device optimalerweise gleich anlegen lassen kann. Der Link ist da, aber leider nicht funktional. Kann sein, dass sowas gar nicht geht, aber wenn es nur an einer Kleinigkeit hinge, wäre das als allgemeine Funktion (auch für die anderen attrTemplates in HTTPMOD) "nett"...

@Otto: Was hältsts du davon, den Code im Wiki (für die Variante ohne myUtils) gar nicht mehr reinzunehmen und dafür die zwei Zeilen Code für das define und Anwenden des template?
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

#82
Zitat von: Beta-User am 12 September 2019, 13:41:22
@Otto: Was hältsts du davon, den Code im Wiki (für die Variante ohne myUtils) gar nicht mehr reinzunehmen und dafür die zwei Zeilen Code für das define und Anwenden des template?
Spontan nichts - weil ICH die Sache mit den Templates nicht verstehe, bzw. einfach noch nie angeschaut habe.  ;D

Mich stören da momentan 3 Meldungen in meiner Definition:
Immer wenn ich reread mache: 2019.09.12 13:54:56 2: AttrTemplates: got 98 entries
Muss das immer kommen, auch wenn ich es gar nicht verwende?

Beim Start von FHEM kommen die zwei Meldungen:  :-\
2019.09.12 12:53:11 3: eq3: Defined with URL https://www.eq-3.de/ajax/downloads/downloads_eq3.php and interval 604800 featurelevel 5.9
2019.09.12 12:53:11 3: eq3: added hint :text,reading,internal,expression,delete to attr readingMaxAgeReplacementMode in userattr list
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

 ;D ;D ;D
Dann wird's aber mal Zeit...

Im Ernst, das ist keine große Sache:
Bei allen Modulen, die SetExtensions unterstützen, gibt es die Option, dazu attrTemplates zu haben, bei HTTPMOD wurde es extra (unabhängig von SetExtensions(?)) eingebaut.

Dahinter verbirgt sich die Idee, dass die Devices mancher Module stark von der Konfiguration durch Attribute abhängen (insbes. MQTT2_DEVICE und auch HTTPMOD), und daher sehr davon profitieren können, wenn man das zentral verteilt und die user das nicht von überall her zusammensuchen müssen, dabei Fehler machen usw..

Im Prinzip ist es also gesammelter RAW-Code, wobei "vorneweg" eben "etwas Perl" ausgeführt werden kann, v.a., um Variablen zu füllen. Hier wird das z.B. genutzt nachzusehen, ob das room-Attribut schon nutzerseitig anders belegt ist (dann wird der aktuelle Inhalt übernommen). Dazu eine kleine Beschreibung (für das "?") und ggf. etwas "farewell", also Hinweise an den Anwender, was jetzt passieren soll, das war es auch schon :) .
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

zap

Guter Hinweis! Dann werde ich wohl die Defaults von HMCCU mal nach attrtemplates migrieren. Hatte zwar schon davon gelesen, mich aber noch nicht im Detail damit beschäftigt. 😎
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Beta-User

Zitat von: zap am 12 September 2019, 16:34:35
Guter Hinweis! Dann werde ich wohl die Defaults von HMCCU mal nach attrtemplates migrieren. Hatte zwar schon davon gelesen, mich aber noch nicht im Detail damit beschäftigt. 😎
Wenn du Hilfe dazu brauchst: Einfach melden, und evtl. einen Thread dazu aufmachen, diesen in dem Ankündigungs-Thread von Rudi dann verlinken.
Hintergrund: Hin und wieder gibt/gab es noch Bedarf an zusätzlicher Funktionalität, und in der Vergangenheit hat Rudi da immer wieder nochmal "eins draufgesetzt". Es gibt auch einige features, die nur vorbereitet sind, u.A. kann man auch "bedingte Zweige" haben, könnte also ein Subset von Attributen nur setzen, wenn bestimmte Bedingungen gegeben sind usw.. Auch farewell ist bisher nur "wenig" genutzt.

Gut finde ich auch die Option, direkt aus "?" (z.B.) ins Wiki zu verlinken.
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

Knallkopp_02

Heute morgen bin ich endlich dazu gekommen, die neuen Änderungen mal zu testen, vorallem mit em template eine sehr schöne Sache. Evtl sollte man das noch mit ins Wiki übernehmen.

Bei mir läuft alles.

BTW, eine Frage habe ich aber noch, die Änderungen in der 99_myUtils.cfg für das setState, kann dann gelöscht werden, wenn ich das richtig sehe, oder?

Großes Lob an Alle die das so schnell hinbekommen haben.

Gruß Knallkopp_02
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

Beta-User

Zitat von: Knallkopp_02 am 15 September 2019, 10:24:27
Heute morgen bin ich endlich dazu gekommen, die neuen Änderungen mal zu testen, vorallem mit em template eine sehr schöne Sache. Evtl sollte man das noch mit ins Wiki übernehmen.
Danke für die Rückmeldung. Ich nehme mal an, dass Otto so freundlich ist, das dann ins Wiki zu übernehmen, sobald er dazu gekommen ist, das mit den attrTemplate mal auszutesten ;D ::) 8) .

ZitatBTW, eine Frage habe ich aber noch, die Änderungen in der 99_myUtils.cfg für das setState, kann dann gelöscht werden, wenn ich das richtig sehe, oder?
Bei dem "Einheitsdevice" brauchst du den (doppelten) Code in myUtils nicht mehr, kannst das aber natürlich umstellen, wenn dir das lieber 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

Knallkopp_02

Das mit dem Template finde ich genial, auch wenn ich absolut keine Probleme habe die Quelltexte zu kopieren. Aber so hat man mit der Erstellung des Httpmod und der Aktivierung des Templates mit 2 Klicks das ganze Ding aktiv.

Echt klasse, so viele Daumen kann ich garnicht geben

Gruß
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

Otto123

Hallo Beta-User,

ich habe heute eine Gosund SP111 Steckdose mit tuya-convert auf Tasmota geflashed, mqtt2 eingerichtet und mit attrTemplate die Steckdose in nullkommanix zum laufen gebracht. Damit hast Du mich gegriffen mein Lieber  ;D ;D ;D

Wie "versprochen" habe ich mich dann mit der attrTemplate Definition aus diesem Thread beschäftigt getestet und ins Wiki eingebaut.
Der Artikel muss insgesamt noch überarbeitet werden, aber heute nicht mehr :)

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