Funktionsanfrage: hminfo erweiterungen firmware Versionsprüfung

Begonnen von no_Legend, 18 Januar 2016, 11:44:07

Vorheriges Thema - Nächstes Thema

docb

I love FHEM!

kleinerDrache

Hi Leutes
die Versionsprüfung ist klasse seit einiger zeit bekomme ich allerdings im Log immer wieder die Meldung

ERROR evaluating my $name='';{return undef; {eq3StateFormat}}: Bareword "eq3StateFormat" not allowed while "strict subs" in use at (eval 729) line 1

Liegt das an der neuen Version von FHEM (aktuellste hab ich instlliert) oder was ist da los ?

ein Neuanlegen des Devices brachte überigens die gleiche meldung allerdins schon wenn ich

attr eq3 stateFormat {eq3StateFormat}

ins Webinterface einfüge
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Otto123

Die sub in deiner 99_myUtils.pm ist noch da/in Ordnung?

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

kleinerDrache

Hab das ganze Ding komplett neu laut Wiki inklusive 99_Utility neu angelegt
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

DeeSPe

Zitat von: kleinerDrache am 16 März 2017, 17:46:45
Hi Leutes
die Versionsprüfung ist klasse seit einiger zeit bekomme ich allerdings im Log immer wieder die Meldung

ERROR evaluating my $name='';{return undef; {eq3StateFormat}}: Bareword "eq3StateFormat" not allowed while "strict subs" in use at (eval 729) line 1

Liegt das an der neuen Version von FHEM (aktuellste hab ich instlliert) oder was ist da los ?

ein Neuanlegen des Devices brachte überigens die gleiche meldung allerdins schon wenn ich

attr eq3 stateFormat {eq3StateFormat}

ins Webinterface einfüge

Probier mal ob das schon reicht:
attr eq3 stateFormat {eq3StateFormat()}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

kleinerDrache

Besten dank das war es *gg*
Hätte ich auch selber drauf kommen können.

wenn das wichtig ist sollte man das in der Wiki vielleicht noch anpassen.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

DeeSPe

Zitat von: kleinerDrache am 16 März 2017, 18:19:42
wenn das wichtig ist sollte man das in der Wiki vielleicht noch anpassen.

Feel free to do that! ;)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

kleinerDrache

Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Otto123

Zitat von: kleinerDrache am 16 März 2017, 18:09:40
Hab das ganze Ding komplett neu laut Wiki inklusive 99_Utility neu angelegt
falsche Datei! 99_myUtils.pm  :-X

Es geht definitiv mit {eq3StateFormat} wie im Wiki beschrieben.

Die Fehlermeldung deutet eigentlich eindeutig auf  "Mist" in Deiner 99_myUtils.pm hin. Eventuell hast Du am Ende was hinzugefügt und die Struktur zerstört.

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

kleinerDrache

Bisher war nix in der Datei also noch jungfräulich, da ich sonst immer eigenständige Dateien nutze, für jeden zweck ne eigene. Hatte das vorher auch mit dem Homematic update so gemacht. Hab dann den Fehler bekommen und deswegen jetzt EXTRA die ganze sub in die 99_myUtility gepackt, damit ich halt Fehler in meiner Struktur ausschließen kann.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Otto123

nochmal: die richtige Datei ist 99_myUtils.pm !

Und der Inhalt ist nicht egal. Bitte Template verwenden!

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

kleinerDrache

mit "Jungfreulich" meinte ich neue Kopie der Template_Datei sorry etwas unglücklich ausgedrückt ;)
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Otto123

Zitat von: kleinerDrache am 16 März 2017, 19:51:07
mit "Jungfreulich" meinte ich neue Kopie der Template_Datei sorry etwas unglücklich ausgedrückt ;)
Du wärst nicht der Erste wo cut&paste kaputt ist!  :-[
Zeig doch wenn Du unsicher bist den Inhalt Deiner 99_myUtils.pm komplett.

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

kleinerDrache

aber bitte doch

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
   my ($hash) = @_;
}
sub eq3StateFormat() {
  my $name = "eq3";

  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/downloads.html">homematic</a>-fw-check => '.$lastCheck;   
  $ret .= '<br><br>';   
  $ret .= '<pre>';   
  $ret .= "| device                  | model                   | old_fw | new_fw | release    |\n"; 
  $ret .= "------------------------------------------------------------------------------------\n"; 
  my $check = ReadingsVal($name,"newFwForDevices","???");   
  if($check eq "no fw-updates needed!") {       
    $ret .= '| '.$check.'                                                            |';     
  } else {         
    my @devices = split(',',$check);         
    foreach my $devStr (@devices) {
      my ($dev,$md,$ofw,$idx,$nfw,$date) = $devStr =~ m/^([^\s]+)\s\(([^\s]+)\s\|\sfw_(\d+\.\d+)\s=>\sfw(\d\d)_([\d\.]+)\s\|\s([^\)]+)\)$/;         
      my $link = ReadingsVal($name,"fw_link-".$idx,"???");           
      $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="eq3-firmware.tgz" href="'.$link.'">';           
      $ret .= '<b style="color:red">';           
      $ret .= sprintf("%6s",$nfw);           
      $ret .= '</b>';           
      $ret .= '</a>';           
      $ret .= " | ";             
      $ret .= sprintf("%-10s",$date);           
      $ret .= " |\n";       
    }   
  } 
  $ret .= '</pre>'; 
  $ret .= '</div>'; 
  return $ret;
}
1;


sollte noch dazu sagen das ich ConfigDB und LogDB verwende.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

Otto123

Hi, naja das sieht ganz gut aus. Aber es ist keine Kopie der Template Datei.
Die hast Du über den FEHM Editor erstellt? Oder von extern eingespielt?

Na egal Du bist der Meinung jetzt geht alles, sicher sein kannst Du nur wenn er Update für Deine Geräte findet.
Hast Du wenigstens readings mit Firmware Links? In der Artfw_link-01 http://www.eq-3.de/Downloads/Software/Firmware/hm_dis_ep_wm55_update_V1_1_160927.tgz 2017-03-16 18:13:02
fw_link-02 http://www.eq-3.de/Downloads/Software/Firmware/HM-Sen-MDIR-WM55_update_V1_2_0_160825.tgz 2017-03-16 18:13:02

Ich kann nur nochmal sagen, es geht wie im Wiki beschrieben. FHEM ist aktuell, zwei verschiedene Systeme.

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