httpmod.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 21 Februar 2019, 12:04:17

Vorheriges Thema - Nächstes Thema

Beta-User

Hallo zusammen,

Danke erst mal für den Hinweis, dass das mit dem Tasmotaupdate nicht so klappt wie gedacht. Da hatte wohl jemand "complex" eingeschaltet...

Hier mal eine Fassung, die mit beidem klarkommen sollte, habe dann gleich noch die alte Version klickbar gemacht, damit man direkt auf das WEB-IF des ESP's kommt:

defmod tasmotaupdates HTTPMOD https://github.com/arendst/Tasmota/tags 86400
attr tasmotaupdates userattr reading01Name reading01Regex reading02Name reading02OExpr reading02Regex updatableDevicesMode:onlyUpdatable,all
attr tasmotaupdates enableControlSet 1
attr tasmotaupdates event-on-change-reading .*
attr tasmotaupdates event-on-update-reading LAST_ERROR,MATCHED_READINGS
attr tasmotaupdates handleRedirects 0
attr tasmotaupdates model tasmota_firmware_updates
attr tasmotaupdates reading01Name latestVersion
attr tasmotaupdates reading01Regex commit-title">[\w\W]*?<a href=".*">[\w\W]*?v(\d*.\d*.\d*)[\w\W]*?</a>
attr tasmotaupdates reading02Name latestDate
attr tasmotaupdates reading02OExpr $val =~ m/^(.{4})-(.{2})-(.{2})$/ ;;;; "$3.$2.$1"
attr tasmotaupdates reading02Regex relative-time[\w\W]*?datetime="(\d*-\d*-\d*)T\d*:\d*:\d*Z"
attr tasmotaupdates room Steuerung->Tasmota
attr tasmotaupdates showError 1
attr tasmotaupdates showMatched 1
attr tasmotaupdates stateFormat {   my $ret ="";;;;\
    my $lastCheck = ReadingsTimestamp($name,"MATCHED_READINGS","???");;;;\
    $ret .= '<div style="text-align:left">';;;;\
    $ret .= 'last <a title="versions" href="'.InternalVal($name,"MainURL","unknown").'">tasmota</a>-check => '.$lastCheck;;;;\
    $ret .= '<br><br><pre>';;;;\
    $ret .= "| device                           | current |   new   |  released  |<br>";;;;\
    $ret .= "---------------------------------------------------------------------<br>";;;;\
    my $check = ReadingsVal($name,"updatableDevices","error => no or wrong data from server!");;;;\
    if($check eq "no updates needed!") {\
      $ret .= '| <b style="color:green">';;;;\
      $ret .= sprintf("%-65s",$check);;;;\
      $ret .= '</b> |';;;;\
    } elsif($check eq "error => no or wrong data from server!") {\
      $ret .= '| <b style="color:red">';;;;\
      $ret .= sprintf("%-65s",$check);;;;\
      $ret .= '</b> |';;;;\
    } else {\
      my @devices = split(',',$check);;;;\
      foreach my $devStr (@devices) {\
        my ($dev,$old,$new,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\s([^\s]+)\s\|\s([^\)]+)\)$/;;;;\
        $ret .= '| <a href="/fhem?detail='.$dev.'"><b>';;;;\
        $ret .= sprintf("%-32s",$dev);;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= '<b style="color:lightgray">';;;;\
        $ret .= '<a href="http://'.ReadingsVal($dev,"IPAddress",ReadingsVal($dev,"INFO1_IPAddress","0.0.0.0")).'" target="_blank">';;;;\
        $ret .= sprintf("%7s",$old);;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= '<a href="https://github.com/arendst/Tasmota/releases/tag/v'.$new.'">';;;;\
        $ret .= '<b style="color:red">';;;;\
        $ret .= sprintf("%7s",$new);;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= '<a href="https://github.com/arendst/Tasmota/releases/tag/v'.$new.'">';;;;\
        $ret .= '<b style="color:black">';;;;\
        $ret .= sprintf("%-10s",$date);;;;\
        $ret .= '</b></a>';;;;\
        $ret .= " |<br>";;;;\
      }\
    }\
    $ret .= '</pre></div>';;;;\
  return $ret;;;;\
}
attr tasmotaupdates timestamp-on-change-reading .*
attr tasmotaupdates updatableDevicesMode onlyUpdatable
attr tasmotaupdates userReadings updatableDevices:MATCHED_READINGS.* {\
  my $ret = "";;;;\
  if (ReadingsVal($name,"MATCHED_READINGS","") eq "") {\
    $ret = "error => no or wrong data from server!";;;;\
  } else {\
    my $VERSION = ReadingsVal($name,"latestVersion","unknown");;;;\
    my $DATE = ReadingsVal($name,"latestDate","unknown");;;;\
    foreach my $dev (devspec2array("TYPE=MQTT[2]?_[D]EVICE:FILTER=Version!=,TYPE=MQTT[2]?_[D]EVICE:FILTER=INFO1_Version!=")) {\
      my $version = ReadingsVal($dev,"Version",ReadingsVal($dev,"INFO1_Version","0.0.0"));;;;\
      $version =~ m/([0-9.]*).*/;;;;\
      $version = $1;;;;\
      if ( AttrVal($name,"updatableDevicesMode","onlyUpdatable") eq "all" || $version ne $VERSION ) {\
        $ret .= "," if($ret ne "");;;;\
        $ret .= $dev." (".$version." | ".$VERSION." | ".$DATE.")";;;;\
      }\
    }\
  }\
  return ($ret eq "")?"no updates needed!":$ret;;;;\
}
attr tasmotaupdates webCmd reread


Bitte mal testen, wer Präfixes verwendet, dann checke ich das ggf. direkt so ein...

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

mähschaf

#91
Funktionuckelt ganz wunderprächtig (also das mit dem reread und der Version, das mit dem Webinterface des ESPs habe ich nicht verstanden/getestet)! Vielen Dank für die schnelle Reaktion und die tolle Arbeit!

Ich wünschte, ich könnte auch so gut Perl programmieren...  :-\

Schönen Sonntag und bleibt gesund...

Beta-User

Beim Klick auf die alte Version solltest du direkt auf dem Web-Interface des ESP landen (einfach mal drüberfahren mit der Maus, dann sollte der link sichtbar sein).
Was ich aber grade nicht weiß, ist ob die IPAddresse jetzt über INFO1 kommt oder woanders her (dann ist der Reading-Name anders...).
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

ComputerZOO

Moin,
wäre es auch möglich den Versionsnamen (jetzt: Elliot) mit in ein Reading aufzunehmen?

Schöne Grüße aus MV, bleibt gesund und schön zu Hause,

MAX.

Beta-User

Zitat von: ComputerZOO am 22 März 2020, 12:28:12
Moin,
wäre es auch möglich den Versionsnamen (jetzt: Elliot) mit in ein Reading aufzunehmen?
"Möglich" schon, aber der steht nicht auf der Seite, die hier direkt als URL angegeben ist => ziemlicher Aufwand => warum arbeitest du dich nicht ein und machst einen funktionierenden Vorschlag ;) ?



Habe eben noch überlegt, ob es Sinn macht, gleich auf die update-Seite des Tamota zu verlinken, also noch ein "/up" hinter die ReadingsVal-Abfrage zu basteln...?

(Update ist übrigens schon im svn, falls jemand die aktelle Fassung via attrTemplate suchen sollte. Da sind auch weniger ";" drin, so viele wie in der alten Version braucht man gar nicht ;D .)
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

mähschaf

#95
Das Reading wäre in meinem Fall "IPAddress". Also ohne INFO oder irgendwas.  8)

Im html sieht das Ergebnis so aus (8.1.0 ist kein Link):

<a href="/fhem?detail=MQTT2_tasmota001"><b>MQTT2_tasmota001                </b></a> | <b style="color:lightgray">  8.1.0</b> | <a href="https://github.com/arendst/Tasmota/releases/tag/v8.2.0"><b style="color:red">

Müsste bei $ret .= sprintf("%7s",$old);; nicht ein $ret .= '| <a href=wasauchimmer';; drumherum sein?

yersinia

Zitat von: mähschaf am 22 März 2020, 13:42:04
Müsste bei $ret .= sprintf("%7s",$old);; nicht ein $ret .= '| <a href=wasauchimmer';; drumherum sein?
Ist doch (RAW):
        $ret .= '<a href="https://github.com/arendst/Tasmota/releases/tag/v'.$new.'">';;;;\
        $ret .= '<b style="color:red;;">';;;;\
        $ret .= sprintf("%7s",$new);;;;\
        $ret .= '</b></a> | ';;;;\


Weil ich es gerade brauchte und cool fand, eine gaaaanz leicht angepasste Version:
defmod DEVICE HTTPMOD https://github.com/arendst/Tasmota/tags 86400
attr DEVICE userattr reading01Name reading01Regex reading02Name reading02OExpr reading02Regex updatableDevicesMode:onlyUpdatable,all
attr DEVICE enableControlSet 1
attr DEVICE event-on-change-reading .*
attr DEVICE event-on-update-reading LAST_ERROR,MATCHED_READINGS
attr DEVICE handleRedirects 0
attr DEVICE model tasmota_firmware_updates
attr DEVICE reading01Name latestVersion
attr DEVICE reading01Regex commit-title">[\w\W]*?<a href=".*">[\w\W]*?v(\d*.\d*.\d*)[\w\W]*?</a>
attr DEVICE reading02Name latestDate
attr DEVICE reading02OExpr $val =~ m/^(.{4})-(.{2})-(.{2})$/ ;;;; "$3.$2.$1"
attr DEVICE reading02Regex relative-time[\w\W]*?datetime="(\d*-\d*-\d*)T\d*:\d*:\d*Z"
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="versions" href="https://github.com/arendst/Tasmota/releases" target="_blank">tasmota</a>-check => '.$lastCheck;;;;\
    $ret .= '<br><br><pre>';;;;\
    $ret .= "| device                           | current |   new   |  released  |<br>";;;;\
    $ret .= "---------------------------------------------------------------------<br>";;;;\
    my $check = ReadingsVal($name,"updatableDevices","error => no or wrong data from server!");;;;\
    if($check eq "no updates needed!") {\
      $ret .= '| <b style="color:green;;">';;;;\
      $ret .= sprintf("%-65s",$check);;;;\
      $ret .= '</b> |';;;;\
    } elsif($check eq "error => no or wrong data from server!") {\
      $ret .= '| <b style="color:red;;">';;;;\
      $ret .= sprintf("%-65s",$check);;;;\
      $ret .= '</b> |';;;;\
    } else {\
      my @devices = split(',',$check);;;;\
      foreach my $devStr (@devices) {\
        my ($dev,$old,$new,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\s([^\s]+)\s\|\s([^\)]+)\)$/;;;;\
        $ret .= '| <a href="/fhem?detail='.$dev.'"><b>';;;;\
        $ret .= sprintf("%-32s",AttrVal($dev,"alias",$dev));;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= '<b style="color:lightgray;;">';;;;\
        $ret .= '<a href="http://'.ReadingsVal($dev,"IPAddress",ReadingsVal($dev,"INFO1_IPAddress","0.0.0.0")).'" target="_blank">';;;;\
        $ret .= sprintf("%7s",$old);;;;\
        $ret .= '</a></b> | ';;;;\
        $ret .= '<a href="https://github.com/arendst/Tasmota/releases/tag/v'.$new.'">';;;;\
        $ret .= '<b style="color:red;;">';;;;\
        $ret .= sprintf("%7s",$new);;;;\
        $ret .= '</b></a> | ';;;;\
        $ret .= '<a href="https://github.com/arendst/Tasmota/releases/tag/v'.$new.'">';;;;\
        $ret .= '<b style="color:black;;">';;;;\
        $ret .= sprintf("%-10s",$date);;;;\
        $ret .= '</b></a>';;;;\
        $ret .= " |<br>";;;;\
      }\
    }\
    $ret .= '</pre></div>';;;;\
  return $ret;;;;\
}
attr DEVICE timestamp-on-change-reading .*
attr DEVICE updatableDevicesMode onlyUpdatable
attr DEVICE userReadings updatableDevices:MATCHED_READINGS.* {\
  my $ret = "";;;;\
  if (ReadingsVal($name,"MATCHED_READINGS","") eq "") {\
    $ret = "error => no or wrong data from server!";;;;\
  } else {\
    my $VERSION = ReadingsVal($name,"latestVersion","unknown");;;;\
    my $DATE = ReadingsVal($name,"latestDate","unknown");;;;\
    foreach my $dev (devspec2array("TYPE=MQTT[2]?_[D]EVICE:FILTER=Version!=,TYPE=MQTT[2]?_[D]EVICE:FILTER=INFO1_Version!=")) {\
      my $version = ReadingsVal($dev,"Version",ReadingsVal($dev,"INFO1_Version","0.0.0"));;;;\
      $version =~ m/([0-9.]*).*/;;;;\
      $version = $1;;;;\
      if ( AttrVal($name,"updatableDevicesMode","onlyUpdatable") eq "all" || $version ne $VERSION ) {\
        $ret .= "," if($ret ne "");;;;\
        $ret .= $dev." (".$version." | ".$VERSION." | ".$DATE.")";;;;\
      }\
    }\
  }\
  return ($ret eq "")?"no updates needed!":$ret;;;;\
}
attr DEVICE webCmd reread
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

mähschaf

#97
Stimmt.

Meine Güte, bin ich blöde, ich habe vergessen ein Update zu  machen! Sorry für die Zeitverschwendung!  :-[

Ich meinte allerdings nicht das href um new, sondern das href um old.

Vermutlich braucht es etwas, bis das über das update bei mir ankommt. Im Moment kommt noch die alte Version, mit der Anpassung klappt es aber auch schon so... Danke!

Beta-User

Via Update  geht es immer erst ab kurz vor 8:00 Uhr, oder man holt es eben aus dem svn (es gibt eine Funktion dafür, siehe z.B. hier: https://forum.fhem.de/index.php/topic,109179.msg1033303.html#msg1033303).

@yersinia: Du hast jetzt noch mehr ";;" verteilt, auch in den "style"-Anweisungen. Für was sind die gut?
Und das mit "/up"? Findest du das nicht gut, oder ist einfach nur nicht klar, wie es gemeint war/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

yersinia

Zitat von: Beta-User am 22 März 2020, 18:13:39@yersinia: Du hast jetzt noch mehr ";;" verteilt, auch in den "style"-Anweisungen. Für was sind die gut?
Eine korrekte style Definition wird mit einem Semikolon abgeschlossen, auch inline (src). Doppelte Semikolon kommen aus der Raw_Definition

Zitat von: Beta-User am 22 März 2020, 18:13:39Und das mit "/up"? Findest du das nicht gut, oder ist einfach nur nicht klar, wie es gemeint war/ist?
Das was? :o Ach, du meinst dies:
Zitat von: Beta-User am 22 März 2020, 12:42:10Habe eben noch überlegt, ob es Sinn macht, gleich auf die update-Seite des Tamota zu verlinken, also noch ein "/up" hinter die ReadingsVal-Abfrage zu basteln...?
Das habe ich 1. überlesen ::) und 2. find' ichs gut. :D

Dann wäre
$ret .= '<a href="http://'.ReadingsVal($dev,"IPAddress",ReadingsVal($dev,"INFO1_IPAddress","0.0.0.0")).'/up" target="_blank">';;;;\
richtiger.

Allerdings was mich noch zum grübeln bringt ist das device array:
TYPE=MQTT[2]?_[D]EVICE:FILTER=Version!=,TYPE=MQTT[2]?_[D]EVICE:FILTER=INFO1_Version!=
Dadurch fliegen -zumindest bei mir- Tasmota Devices raus, die gerade nicht via MQTT2 online sind. Da solche auch keine Version anzeigen, finde ich die Lösung ok. Allerdings verschwinden dann die Devices aus der Liste und tauchen nur auf wenn diese zufällig online sind bei dem HTTPMOD Device reread.
Schön wäre es, wenn man optional
TYPE=MQTT[2]?_[D]EVICE
hätte und diese Anzeigen könnte. Allerdings ist mir diese Idee nicht ausgereift genug, es gibt sicher auch andee MQTT2 Geräte als nur Tasmota, oder?
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

Beta-User

Hmm, Danke für den Link, dann bastle ich die ";;" bei den Formatierungen bei Gelegenheit wieder rein...

Das mit der devspec ist "nur" eine Erweiterung der bisherigen, und bereits diese birgt die Gefahr, dass man "zu viel" erwischt, weil es in der Tat viele ganz andere MQTT2_DEVICES geben kann (z.B. zigbee2mqtt oder shelly, mehr Infos ggf. hier: https://fhem.de/stats/statistics.html). Ausweiten macht daher keinen Sinn, man könnte höchstens über die readingList filtern (das machen wir dann, wenn die ersten Klagen kommen, dass der jetzige Stand Mist ist, oder...? ;D ).
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

Zitat von: Beta-User am 23 März 2020, 11:15:17Das mit der devspec ist "nur" eine Erweiterung der bisherigen, und bereits diese birgt die Gefahr, dass man "zu viel" erwischt, weil es in der Tat viele ganz andere MQTT2_DEVICES geben kann (z.B. zigbee2mqtt oder shelly, mehr Infos ggf. hier: https://fhem.de/stats/statistics.html). Ausweiten macht daher keinen Sinn, man könnte höchstens über die readingList filtern (das machen wir dann, wenn die ersten Klagen kommen, dass der jetzige Stand Mist ist, oder...? ;D ).
Oder man macht es gleich etwas komplizierter und Steuerbar via userAttr includeMQTTDeviceMode (analog zu updatableDevicesMode):

attr DEVICE userattr includeMQTTDeviceMode:tasmota-only,all reading01Name reading01Regex reading02Name reading02OExpr reading02Regex updatableDevicesMode:onlyUpdatable,all
attr DEVICE includeMQTTDeviceMode tasmota-only
attr DEVICE userReadings updatableDevices:MATCHED_READINGS.* {\
  my $ret = "";;;;\
  if (ReadingsVal($name,"MATCHED_READINGS","") eq "") {\
    $ret = "error => no or wrong data from server!";;;;\
  } else {\
    my $devspec = "TYPE=MQTT[2]?_[D]EVICE:FILTER=Version!=,TYPE=MQTT[2]?_[D]EVICE:FILTER=INFO1_Version!=";;;;\
    if(AttrVal($name,"includeMQTTDeviceMode","tasmota-only") eq "all")\
    {\
        $devspec = "TYPE=MQTT[2]?_[D]EVICE";;;;\
    }\
    my $VERSION = ReadingsVal($name,"latestVersion","unknown");;;;\
    my $DATE = ReadingsVal($name,"latestDate","unknown");;;;\
    foreach my $dev (devspec2array($devspec)) {\
      my $version = ReadingsVal($dev,"Version",ReadingsVal($dev,"INFO1_Version","0.0.0"));;;;\
      $version =~ m/([0-9.]*).*/;;;;\
      $version = $1;;;;\
      if ( AttrVal($name,"updatableDevicesMode","onlyUpdatable") eq "all" || $version ne $VERSION ) {\
        $ret .= "," if($ret ne "");;;;\
        $ret .= $dev." (".$version." | ".$VERSION." | ".$DATE.")";;;;\
      }\
    }\
  }\
  return ($ret eq "")?"no updates needed!":$ret;;;;\
}


Mit dem default
attr DEVICE includeMQTTDeviceMode tasmota-only
wird die devspec
TYPE=MQTT[2]?_[D]EVICE:FILTER=Version!=,TYPE=MQTT[2]?_[D]EVICE:FILTER=INFO1_Version!=
ausgewählt, mit
attr DEVICE includeMQTTDeviceMode all
sucht man etwas allgemeiner (natürlich dann mit dem Risiko nicht-Tasmota_MQTT Devices zu inkludieren):
TYPE=MQTT[2]?_[D]EVICE

Aber auch das wird Nachfragen geben weils Mist ist. ;)

Ich muss aber auch sagen, dass ich hier eine Gosund S1 v21 mit Tasmota 8.2.0 habe, die recht schweigsam bezgl IP und Version ist. Zumindest finde ich nichts im FHEM Device. Wohlmöglich liegt entweder am MQTT2 Server oder am Gerät selbst, vlt ist es Maulfaul. :(
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

Beta-User

...vermutlich ist das zu kompliziert gedacht, m.E. reicht es, wenn man die rausfiltert, die die "richtigen" Abonements haben: list readingList~.*tele[/].*INFO.*
(oder nur INFO1?)
Bringt hier bei mir jedenfalls nur die "Hauptkanäle" bei den mehrkanaligen (was ganz i.O. ist...).

Was das "Maulfaule" Gerät angeht: Entweder du hast nicht die "richtigen" Zweige abboniert, oder das Teil wird schlicht "zu selten" neu gestartet - manches wird nämlich nur beim reboot "offenbart"...
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

ZitatIch muss aber auch sagen, dass ich hier eine Gosund S1 v21 mit Tasmota 8.2.0 habe, die recht schweigsam bezgl IP und Version ist. Zumindest finde ich nichts im FHEM Device. Wohlmöglich liegt entweder am MQTT2 Server oder am Gerät selbst, vlt ist es Maulfaul. :(
Einfach mal Neustart :)
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

yersinia

Zitat von: Beta-User am 23 März 2020, 12:00:16
...vermutlich ist das zu kompliziert gedacht, m.E. reicht es, wenn man die rausfiltert, die die "richtigen" Abonements haben: list readingList~.*tele[/].*INFO.*
Dat läuft unerwartet zufriedenstellend. Zumindest bei mir. :)

Zitat von: Beta-User am 23 März 2020, 12:00:16Was das "Maulfaule" Gerät angeht: Entweder du hast nicht die "richtigen" Zweige abboniert, oder das Teil wird schlicht "zu selten" neu gestartet - manches wird nämlich nur beim reboot "offenbart"...
Tasmota und MQTT2 sind noch Neuland für mich. Mir fehlt einen Ansatz das Ganze zu debuggen. Aber das wird hier OT. Wie oft muss man so ein Tasmota-Device neustarten? oO
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