Probleme mit dem Empfang von devices ? ... Anbei ein Werkzeug zur einfachen Analyse der Empfangswerte
Immer wieder plagen mich Empfangsprobleme. Natürlich gibt es sich Möglichkeit mit "advaltrigger=1" an allen CUL's/HMLAN etc. die RSSI Werte mit schreiben zu lassen und in FileLog (oder dblog) zu loggen, aber manchmal benötigt man nur einen schnellen, kompletten Überblick über alle Devices nach CUL's/CUNs/HMLANs etc. aufgeteilt um etwaige Empfangsprobleme rasch erkennen zu können.
Was ist zu tun:
1.) Bei allen CULs/CUN./HMLAN etc. attr CUL addvaltrigger=1 ... setzen (Hinweis: Das kann mittlerweile auch durch Drücken des Button "Enable RSSI reading in internals" (siehe code) erreicht werden).
2.) Folgenden Code nutzen. Dabei wird schlicht die dummy variable "RSSI_Chart" defniert und wenn in FHEM die Variable auf "refresh" gesetzt/geklickt wird, werden die RSSI Werte (in HTML Table und farblich markiert) dargestellt. Wichtig! im Code (ca. Zeile my $HTTP="http" auf "https" setzen, wenn man FHEM via HTTPS nutzt).
Wer es einfach haben möchte, kann einfach das File fhem.rssi.cfg (attached) verwenden, nach /opt/fhem/FHEM/ kopieren (oder eben das Verzeichnis, in dem die eigenen Configs liegen) und in seiner fhem.cfg ein "include /opt/fhem/FHEM/fhem.rssi.cfg" einfügen
3.) Bei der aller ersten Nutzung, einfach mal alle Buttons schalten (siehe Bild 3 oberer Bereich), da diese nur bei Erstnutzung noch kein "state" haben.
Die Ausgabe sieht in FHEM dann z.B. wie angehängt (Bild) aus. Die Dokumentation dazu --> siehe auch die Bilder.
Wichtig: Nicht vergessen, "refresh" zu drücken. Nur damit werden natürlich auch die Werte in der Tabelle aktualisiert. Das gilt auch und insbesondere für die Änderungen an den Parametern. Die Auswirkung erkennt man erst nach einem "refresh". Gleiches (refresh) erreicht man aber auch in einem etwaigen eigenem Code (oder cron job --> at ...) mit fhem ("set RSSI_Chart refresh").
Vorteil: Es wird nicht immer im laufenden Betrieb RSSI mit geloggt (z.B. in FileLog etc.), sondern (Ressourcen schonend) nur, wenn man "refresh" klickt, dargestellt. Die Darstellung hat mir schon oft die Positionierung der CUNOs/HMLAN etc. erleichtert.
Man erkennt überdies auch , mit welchen Werten das gleiche sendende "Gerät/Sensor" von unterschiedlichen CULs/HMLANs etc. gleichzeitig empfangen wird und kann unmittelbar die Werte vergleichen.
Add: 12.12.2016: Ich habe noch die Möglichkeit hinzu gefügt, dass auch die vergangene Zeit (in s) seit dem letzten Empfang des jeweiligen CUL's/HMLAN angegeben wird. Hierzu muss man nur auf "with_time" "klicken", anstelle von "check".
Add: 3.1.2017: In der neuen Version wird auch der beste Empfangswert via "highlighting" besser dargestellt. Damit kan man sehr schnell erkennen, welches Device, von welchem CUN/CUL etc. am besten empfangen wird und kann hier ggf. auch das IODev setzen (so es denn ein Empfangendes Devices ist).Überdies werden nun die Devices sortiert [A-->Z] angezeigt.
Die RSSI Werte können nun auch mit "Clear all RSSI values in internals" gelöscht werden, sodass ab diesem Zeitpunkt nur! die neu empfangenen Werte dargestellt werden. Das mach Sinn, wenn man z.B. ein CUL/CUNO etc. neu positioniert und nun die Werte erneut lesen/darstellen möchte.
Add: 13.1.2017: Viele Code-Änderungen, einige BugFixes und viele Erweiterungen.
Nun kann auch jedes empfangene Device einzeln aus der Darstellung/Berechnung heraus genommen werden.
Einen Differenzdarstellung (gespeicherter RSSI Wert - aktueller RSSI Wert) ist nun möglich. Gerade das macht Sinn, da hiermit ein CUL/CUNO/HMLAN oder anderes IODev funktechnisch neu positioniert werden kann und das Ergebnis als RSSI Differenz schnell sichtbar und damit der Erfolg/oder Miserfolg der Neupositionierung deutlich wird.
Add: 17.1.2017: Weitere IODev's hinzugefügt und bugfix: "Clear all RSSI values in internals" funktioniert nun korrekt.
Add: 1.2.2017: Weiteres IODev hinzugefügt (TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive), sowie HTTPS Icon fix.
Add: 2.2.2017: Colorscheme eingefügt, damit die Tabelle auch mit Bright-Styles in FHEM besser sichtbar ist (Button: Use dark colorscheme (for bright FHEM backgrounds)).
Add: 6.3.2017: Stackable CC & TSCUL hinzugefügt.
Add: 13.9.2017: kleine bugfixes.
#############################################################
#### RSSI Werte aller IODev's mitschreiben und auswerten ####
#############################################################
#
# A.I. v 1.1
#
##################################################
## Dummy fuer alle RSSI Werte folgende Funktion ##
##################################################
# Dummy fuer die HTML (Table) Ausgabe
define RSSI_Chart dummy
attr RSSI_Chart alias RSSI<br>Values
attr RSSI_Chart group RSSI Values
attr RSSI_Chart room RSSI
attr RSSI_Chart webCmd refresh
########################
## RSSI Setup Buttons ##
########################
define RSSI_SetUpHighlight dummy
attr RSSI_SetUpHighlight alias Highlight the best value in a row
attr RSSI_SetUpHighlight devStateIcon .*0:ios-off:1 .*:ios-on-green:0
attr RSSI_SetUpHighlight group RSSI Buttons
attr RSSI_SetUpHighlight room RSSI
attr RSSI_SetUpHighlight sortby 1
define RSSI_SetUpLastActive dummy
attr RSSI_SetUpLastActive alias Show last reception in [s]
attr RSSI_SetUpLastActive devStateIcon .*0:ios-off:1 .*:ios-on-green:0
attr RSSI_SetUpLastActive group RSSI Buttons
attr RSSI_SetUpLastActive room RSSI
attr RSSI_SetUpLastActive sortby 2
define RSSI_SetUpBestCol dummy
attr RSSI_SetUpBestCol alias Show column best value
attr RSSI_SetUpBestCol devStateIcon .*0:ios-off:1 .*:ios-on-green:0
attr RSSI_SetUpBestCol group RSSI Buttons
attr RSSI_SetUpBestCol room RSSI
attr RSSI_SetUpBestCol sortby 3
define RSSI_SetUpAverage dummy
attr RSSI_SetUpAverage alias Show average row (and Log into Logfile)
attr RSSI_SetUpAverage devStateIcon .*0:ios-off:1 .*:ios-on-green:0
attr RSSI_SetUpAverage group RSSI Buttons
attr RSSI_SetUpAverage room RSSI
attr RSSI_SetUpAverage sortby 4
define RSSI_SetUpInternals dummy
attr RSSI_SetUpInternals alias Enable RSSI reading in internals
attr RSSI_SetUpInternals devStateIcon .*0:ios-off:1 .*:ios-on-green:0
attr RSSI_SetUpInternals group RSSI Buttons
attr RSSI_SetUpInternals room RSSI
attr RSSI_SetUpInternals sortby 5
define RSSI_SetUpAverageSaveOldValues dummy
attr RSSI_SetUpAverageSaveOldValues alias Save old RSSI values and calculate only diffs (currently not saved)
attr RSSI_SetUpAverageSaveOldValues devStateIcon .*0:ios-off:1 .*:ios-on-blue:0
attr RSSI_SetUpAverageSaveOldValues group RSSI Buttons
attr RSSI_SetUpAverageSaveOldValues room RSSI
attr RSSI_SetUpAverageSaveOldValues sortby 7
define RSSI_SetUpShowOldValues dummy
attr RSSI_SetUpShowOldValues alias Show old values while using diffs
attr RSSI_SetUpShowOldValues devStateIcon .*0:ios-off:1 .*:ios-on-blue:0
attr RSSI_SetUpShowOldValues disable 1
attr RSSI_SetUpShowOldValues group RSSI Buttons
attr RSSI_SetUpShowOldValues room RSSI
attr RSSI_SetUpShowOldValues sortby 8
define RSSI_SetUpColorSchemeDark dummy
attr RSSI_SetUpColorSchemeDark alias Use dark colorscheme (for bright FHEM backgrounds)
attr RSSI_SetUpColorSchemeDark devStateIcon .*0:ios-off:1 .*:ios-on-green:0
attr RSSI_SetUpColorSchemeDark group RSSI Buttons
attr RSSI_SetUpColorSchemeDark room RSSI
attr RSSI_SetUpColorSchemeDark sortby 6
define RSSI_SetUpClearRSSIValues dummy
attr RSSI_SetUpClearRSSIValues alias Clear all RSSI values in internals
attr RSSI_SetUpClearRSSIValues devStateIcon .*0:message_garbage:1 .*:message_garbage:0
attr RSSI_SetUpClearRSSIValues group RSSI Buttons
attr RSSI_SetUpClearRSSIValues room RSSI
attr RSSI_SetUpClearRSSIValues sortby 9
###################################
# delete all internal RSSI values #
###################################
define RSSI_ClearAllRSSIValues notify RSSI_SetUpClearRSSIValues:[0,1] set RSSI_Chart clear
############################################
# schreibt die momentanen RSSI Werte #
# in das entsprechende Reading des Devices #
############################################
# Bsp: "internal" eines Devices: CUNO2_RSSI:-71.0 wird in das Reading "CUNO2_RSSI_old:-71" geschrieben
define RSSI_Save_old_values notify RSSI_SetUpAverageSaveOldValues:[0,1] { \
my @culs=devspec2array("TYPE=CUL");;\
push(@culs, devspec2array("TYPE=HMLAN"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\
\
my $cul_rssi="";;\
my $all_int="";;\
my $dev="";;\
my $but_alias="";;\
my $date=$mday.".".$month.".".$year." ".$hour.":".$min.":".$sec;;\
\
if ($EVENT eq "1")\
{\
Log 0,"Speicher momentan RSSI values der devices in die readings z.B. CUNO2_RSSI_old";;\
my @device=devspec2array("i:LASTInputDev=\\w.*");;\
foreach(@device) \
{ \
$dev=$_;;\
foreach(@culs) \
{\
if (InternalVal("$_","type","") eq "CUL_MAX")\
{\
$cul_rssi="RSSI"\
}\
else\
{\
$cul_rssi="$_"."_RSSI"\
}\
\
$all_int=InternalVal($dev,$cul_rssi,"");;\
if ($all_int)\
{\
fhem("setreading $dev ".$cul_rssi."_old ".$all_int)\
\
}\
}\
\
}\
\
$but_alias="Save old RSSI values and calculate only diffs (saved: $date)";;\
fhem ("attr RSSI_SetUpAverageSaveOldValues alias $but_alias");;\
fhem ("attr RSSI_SetUpShowOldValues disable 0");;\
fhem ("set RSSI_Chart refresh")\
}\
else\
{\
Log 0,"Loesche alte gespeicherte RSSI values aus den devices readings Bsp: CUNO2_RSSI_old";;\
foreach(@culs) \
{\
$cul_rssi="$_"."_RSSI_old";;\
fhem ("deletereading .* $cul_rssi")\
}\
$but_alias="Save old RSSI values and calculate only diffs (currently not saved)";;\
fhem ("attr RSSI_SetUpAverageSaveOldValues alias $but_alias");;\
fhem ("attr RSSI_SetUpShowOldValues disable 1")\
}\
\
}\
## Liesst die RSSI Werte aller Devices ##
#########################################
# Schreibt dieses in ein Dummy device in HTML
define rssi_read_from_device notify RSSI_Chart:(refresh|clear) {\
my @culs=devspec2array("TYPE=HMLAN");;\
push(@culs, devspec2array("TYPE=CUL"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
#push(@culs, devspec2array("TYPE=HMUARTLGW"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\
push(@culs, devspec2array("TYPE=STACKABLE_CC"));;\
\
\
my $HTTP="http";; # change it to "https", if youre using https instead of http for FHEM\
my $nr_culs=scalar @culs;;\
my $colspan=$nr_culs+3;;\
my $dev ="";;\
my $cul_rssi="";;\
my $datum = strftime "%Y-%m-%d_%H:%M:%S", localtime;;\
my $rssi_chart="<table border='1' bordercolor'black'><tr bgcolor=yellow><td colspan=".$colspan.">\\
<div align='center'><font color='black'><b>RSSI Values of all devices from: ".$datum."</b>\\
</font><a href=$HTTP://$FW_httpheader{Host}/fhem?cmd=set%20RSSI_Chart%20refresh>\\
<font color='darkred'> ;;; ;;; ;;;<b>REFRESH</b></font></a></div></td></tr>";;\
my $nr=0;;\
my $cnt=0;;\
my $num=0;;\
my $rr=0;;\
my $line="";;\
my $header="<td>Enable</td>";;\
my $col="green";;\
my $alias="";;\
my $bestVal="";;\
my @all_values=();;\
my @all_best_cul=();;\
my $best_value="";;\
my $ButHighLight=Value("RSSI_SetUpHighlight");;\
my $ButBestCol=Value("RSSI_SetUpBestCol");;\
my $ButLastActive=Value("RSSI_SetUpLastActive");;\
my $ButShowAverage=Value("RSSI_SetUpAverage");;\
my $ButShowOldValues=Value("RSSI_SetUpShowOldValues");;\
my $ButtonColorSchemeDark=Value("RSSI_SetUpColorSchemeDark");;\
my @cul_avg=();;\
my @cul_num=();;\
my $all_best=0;;\
my $nr_allBest=0;;\
my $disabled="";;\
my $disabled_set="";;\
my $dev_disable="";;\
my $old_rssi_val="";;\
my $org_int="";;\
my $fntColor1="lightblue";;\
my $fntColor2="white";;\
my $bgColor1="#006600";;\
my $colGood="lightgreen";;\
my $colMid="yellow";;\
my $colBad="#ff8533";;\
my $colWorse="red";;\
my $cul_alias="";;\
my $all_int="";;\
\
\
my $calc_diffs=ReadingsVal("RSSI_SetUpAverageSaveOldValues","state","");;\
\
if ($ButBestCol eq 1) {$header=$header."<td>best</td>"};;\
\
my @device=devspec2array("i:LASTInputDev=\\w.*");;\
@device = sort @device;;\
\
if ($ButtonColorSchemeDark eq 1)\
{\
$fntColor1="darkblue";;\
$fntColor2="darkblue";;\
$colGood="darkgreen";;\
$colMid="darkyellow";;\
$colBad="#ff8533";;\
$colWorse="red";;\
$bgColor1="#00A700";;\
}\
else\
{\
$fntColor1="lightblue";;\
$fntColor2="white";;\
$colGood="lightgreen";;\
$colMid="yellow";;\
$colBad="#ff8533";;\
$colWorse="red";;\
$bgColor1="#006600";;\
}\
\
foreach(@culs) \
{\
$cul_alias=AttrVal("$_","alias","$_");;\
$header=$header."<td><div align='center'><a href=".$HTTP."://$FW_httpheader{Host}/fhem?detail=$_ target='_blank'>\\
<font color='".$fntColor1."'>".$cul_alias."</font></a><div></td>";;\
}\
\
$rssi_chart=$rssi_chart."<tr><td><div align='left'><font color='".$fntColor1."'>Device</font></div></td>".$header."</tr>";;\
foreach(@device) \
{\
$dev=$_;;\
$line="";;\
$alias=AttrVal($dev,"alias",$dev);;\
@all_values=();;\
@all_best_cul=();;\
$num=0;; \
$dev_disable=ReadingsVal("$dev","RSSI_disable","0");;\
foreach(@culs) \
{\
if (InternalVal("$_","TYPE","") eq "CUL_MAX")\
{\
$cul_rssi="RSSI"\
}\
else\
{\
$cul_rssi="$_"."_RSSI"\
}\
\
if ($EVENT eq "clear") \
{\
delete($defs{"$dev"}{"$cul_rssi"})\
} \
\
$all_int=InternalVal($dev,$cul_rssi,"");;\
\
if ($calc_diffs eq "1")\
{\
$old_rssi_val=ReadingsVal($dev,$cul_rssi."_old","");;\
if (($old_rssi_val)&&($all_int))\
{\
$org_int=$all_int;;\
$all_int=$all_int-$old_rssi_val\
}\
else\
{\
$all_int="0"\
}\
}\
\
my $cul_time=InternalVal($dev,"$_"."_TIME","");;\
my $last_activity_since = int(time - time_str2num($cul_time));;\
my $best_value = "";;\
\
if (!$cul_avg[$num])\
{\
$cul_avg[$num]=0;;\
}\
\
if (!$cul_num[$num])\
{\
$cul_num[$num]=0;;\
}\
\
if ($all_int) \
{ \
$nr ++\
}\
\
if (($all_int) && ($dev_disable eq "0"))\
{ \
$cul_avg[$num]=$cul_avg[$num] + $all_int;;\
$cul_num[$num]=$cul_num[$num] + 1;;\
@all_values = (@all_values, $all_int);;\
@all_best_cul = (@all_best_cul, "$_");;\
my $ShowOldDiffs="";;\
if ($calc_diffs ne "1")\
{\
\
if ($all_int >= -75) { $col="$colGood" }\
if ($all_int < -75) { $col="$colMid" }\
if ($all_int <= -80) { $col="$colBad" }\
if ($all_int <= -85) { $col="$colWorse" }\
}\
else\
{\
if ($all_int >= 0) \
{ \
$col="$fntColor1" \
}\
else\
{\
$col="red"\
}\
if ($ButShowOldValues eq "1")\
{\
$ShowOldDiffs="<br><font color='".$fntColor2."' size='1'>$old_rssi_val →;;; $org_int</font>"\
}\
}\
\
my $row="<td><font color=$col> ".$all_int." </font>$ShowOldDiffs";;\
if ($ButLastActive eq 0)\
{\
$line=$line.$row."</td>";;\
}\
if ($ButLastActive eq 1) \
{\
$line=$line.$row."<div align='center'><font color='".$fntColor2."' size='1'>(".$last_activity_since." s)</font></div></td>";;\
}\
}\
else\
{\
$line=$line."<td></td>";; \
} \
$num++;;\
}\
if ($nr > 0)\
{\
# find best RSSI values and mark with bold and underline \
if (@all_values) \
{\
$best_value = $all_values[0];;\
$rr=0;;\
for(@all_values) \
{\
if ($_ > $best_value)\
{\
$best_value = $_;;\
$rr++;;\
}\
}\
}\
\
# for further extension\
# if (@all_best_cul)\
# {\
# Log 0,"$rr;; $all_best_cul[$rr];;@all_values;;@all_best_cul";;\
# }\
\
if ($dev_disable eq 0)\
{\
if (!$best_value) {$best_value=0}\
if ($best_value >= -75) { $col="$colGood" }\
if ($best_value < -75) { $col="$colMid" }\
if ($best_value <= -80) { $col="$colBad" }\
if ($best_value <= -85) { $col="$colWorse" } \
$line =~ s/\./,/g;;\
if ($ButHighLight eq 1)\
{ \
$nr_allBest++;;\
$all_best=$all_best+$best_value;;\
my $search_best_value=$best_value;;\
$best_value =~ s/\./,/g;;\
$line =~ s/ $search_best_value /<strong><div style='background-color: $bgColor1'>$best_value<\/div><\/strong>/g;;\
}\
}\
\
if ($ButBestCol eq 1) \
{\
$bestVal="<td><font color=$col>".$best_value."</font></td>";;\
}\
\
if ($dev_disable eq 1)\
{\
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-off.png";;\
$disabled_set = "0";;\
$col="grey";;\
if ($ButBestCol eq 1) \
{\
$bestVal="<td></td>";;\
}\
}\
else\
{\
\
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";;\
$disabled_set = "1";; \
}\
\
$cnt++;;\
$rssi_chart=$rssi_chart."<tr><td><div align='left'><b><a href=$HTTP://$FW_httpheader{Host}/fhem?detail=$dev target='_blank'><font color=$col>";;\
$rssi_chart=$rssi_chart.$cnt." ".$alias."</font></a></b></div></td><td>";;\
$rssi_chart=$rssi_chart."<a href=$HTTP://$FW_httpheader{Host}/fhem?cmd=setreading%20$dev%20RSSI_disable%20$disabled_set;;;;trigger%20RSSI_Chart%20refresh>";;\
$rssi_chart=$rssi_chart."<img src=$disabled width=75%></a></td>".$bestVal.$line."</tr>";;\
\
$nr=0;; \
} \
\
}\
\
if ($ButShowAverage eq 1)\
{\
my $txt_rssi="";;\
$rssi_chart="$rssi_chart"."<tr><td colspan='100%'></td></tr>";;\
if ($calc_diffs eq "1")\
{\
$txt_rssi="delta RSSI (diff to stored values)"\
}\
else\
{\
$txt_rssi="average RSSI"\
}\
$rssi_chart="$rssi_chart"."<tr bgcolor=MediumBlue><div align='center'><td><font color='white'><b>$txt_rssi</b></font></td><td></td>";;\
if ($ButBestCol eq 1) \
{\
if (!$nr_allBest) {$nr_allBest=1}\
my $best_all="";;\
if ($calc_diffs eq "1")\
{\
$best_all= sprintf "%.2f", $all_best;;\
if ($best_all >= 0) \
{ \
$col="lightgreen"\
}\
else\
{\
$col="red"\
}\
}\
else\
{\
$best_all= sprintf "%.2f", $all_best/$nr_allBest;;\
if ($best_all != 0)\
{\
if ($best_all >= -75) { $col="lightgreen" }\
if ($best_all < -75) { $col="yellow" }\
if ($best_all <= -80) { $col="#ff8533" }\
if ($best_all <= -85) { $col="red" } \
}\
}\
\
$rssi_chart=$rssi_chart."<td><font color=$col><b>".$best_all."</b></font></td>";;\
}\
\
my $average="";;\
for(my $i = 0;; $i < @cul_avg;; $i++) \
{ \
\
if ($cul_avg[$i] != 0)\
{\
if ($calc_diffs eq "1")\
{\
$average = sprintf "%.2f", $cul_avg[$i];;\
if ($average >= 0)\
{\
$col="lightgreen"\
}\
else\
{\
$col="red"\
}\
}\
else\
{\
$average = sprintf "%.2f", $cul_avg[$i]/$cul_num[$i];;\
if ($average >= -75) { $col="lightgreen" }\
if ($average < -75) { $col="yellow" }\
if ($average <= -80) { $col="#ff8533" }\
if ($average <= -85) { $col="red" } \
}\
\
}\
else\
{\
$average="";; \
}\
\
$rssi_chart="$rssi_chart"."<td><font color=$col><b>$average</b></font></td>";;\
Log 0,"RSSI Average:$culs[$i];;$average";; \
}\
if (!$nr_allBest) {$nr_allBest = 1}\
my $best_all= sprintf "%.2f", $all_best/$nr_allBest;;\
Log 0,"RSSI Average all best: $best_all";;\
$rssi_chart="$rssi_chart"."</tr>";;\
}\
$rssi_chart="$rssi_chart"."</table>";;\
\
if ($EVENT eq "clear") \
{ \
Log 0,"Clearing all RSSI internal values";;\
}\
fhem ("set RSSI_Chart $rssi_chart");; \
}\
##################
## RSSI als CSV ##
##################
define rssi_csv_create notify RSSI_Chart_csv:check { \
my @culs =devspec2array("TYPE=HMLAN");;\
push(@culs, devspec2array("TYPE=CUL"));;\
my $nr_culs=scalar @culs;;\
my $colspan=$nr_culs+2;;\
my $dev ="";;\
my $cul_rssi="";;\
my $datum = strftime "%Y-%m-%d_%H:%M:%S", localtime;;\
my $rssi_chart="";;\
my $nr=0;;\
my $line="";;\
my $header="Device;;;;";;\
my $col="green";;\
my $alias="";;\
my @device=devspec2array("i:LASTInputDev=\\w.*");;\
foreach(@culs) \
{\
$header=$header."$_;;;;";;\
}\
$rssi_chart=$rssi_chart."".$header."<br>";;\
foreach(@device) \
{\
$dev=$_;;\
$line="";;\
$alias=AttrVal($dev,"alias",$dev);;\
foreach(@culs) \
{\
$cul_rssi="$_"."_RSSI";;\
my $all_int=InternalVal($dev,$cul_rssi,"");;\
if ($all_int)\
{\
$nr ++;;\
$all_int =~ s/\./,/g;;\
$line=$line.";;;;".$all_int."";;\
}\
else\
{\
$line=$line.";;;;";; \
} \
}\
if ($nr > 0)\
{\
$rssi_chart=$rssi_chart."".$alias."".$line."<br>";;\
$line="";;\
$nr=0;; \
} \
}\
\
$rssi_chart="$rssi_chart</div>";;\
fhem ("set RSSI_Chart_csv $rssi_chart");;\
}\
Viele Grüße!
Andreas
kennst du hminfo? => get hminfo rssi.
ist natürlich nicht so schön bunt.
Zitat von: frank am 11 Dezember 2016, 12:12:48
kennst du hminfo? => get hminfo rssi.
ist natürlich nicht so schön bunt.
Ja, aber ich habe nicht nur HM devices, sondern werte auch RSSI von meinen CUL's (868,433) usw. aus, deshalb auch die Funktion.
Viele Grüße!
Andreas
Danke für dieses Chart.
Wie stelle ich es an, dass die RSSI Werte in ein LOG File geschrieben werden ????
Dann kann ich es evtl. in einen Diagramm packen !!
Gruß und Danke
Sascha
das kann man auch mit einer readingsGroup umsetzen. die wird auch direkt bei jedem refresh im browser aktualisiert ohne extra knopf.
define culRSSI readingsGroup <>,<HMLAN>,<CUL>,<CUL2>,<CUL3>,<panStamp>,<>\
cul_RSSI=.*:+cul_RSSI,+cul_TIME cul2_RSSI=.*:+hmlan_RSSI,+cul2_RSSI,+cul2_TIME cul3_RSSI=.*:+cul3_RSSI,+cul3_TIME panStamp_RSSI=.*:+panStamp_RSSI,+panStamp_TIME
attr culRSSI alias RSSI Werte
attr culRSSI room 9 System
attr culRSSI valueColumn { '' => 6, hmlan_RSSI => 1, cul_RSSI => 2, cul2_RSSI => 3, cul3_RSSI => 4, panStamp_RSSI => 5 }
attr culRSSI valueStyle {return undef if($READING =~ m/TIME/);; ($VALUE <= -85)?'style="color:red"':($VALUE <= -80)?'style="color:yellow"':undef}
gruss
andre
Zitat von: sash.sc am 18 Dezember 2016, 12:01:49
Danke für dieses Chart.
Wie stelle ich es an, dass die RSSI Werte in ein LOG File geschrieben werden ????
Dann kann ich es evtl. in einen Diagramm packen !!
Gruß und Danke
Sascha
Gerne. Anbei die relevanten Files zum Plotten der RSSI.
Hiermit alles mit :RSSI.* ins logfile "loggen":### RSSI log
define RSSI_Logging FileLog /opt/fhem/rssi_all_log .*:RSSI.*
attr RSSI_Logging logtype text
attr RSSI_Logging room Logfiles
Hier der Plot. Hierbei muss in "attr plotfunction" das device sowie der CUL angegeben werden. Hier im Beispiel also: Wetterstation.CUNO2, damit vom device "Wetterstation" der RSSI vom CUL=CUNO2 dargestellt werden kann.
Ich stelle nahezu alle Devices und deren RSSI in Plots dar und kann dann im Überblick sehr leicht die Einflüsse bei Verschieben des Devices/des CULs im Plot erkennen. Insbesondere beim NeuPositionieren eines CULs/CUNO/was auch immer ... erkennt man schnell den gesamten Effekt auf alle Devices.### Plot RSSI Wetterstation
define RSSI_CUNO2_Wetterstation SVG rssi_all_log:rssi_culs_plot:CURRENT
attr RSSI_CUNO2_Wetterstation plotfunction Wetterstation.CUNO2
attr RSSI_CUNO2_Wetterstation room RSSI_Plots
attr RSSI_CUNO2_Wetterstation title "Wetterstation"
Hier das gplot File. Aus meiner Sicht ist es sinnvoll, hier "Points" anstelle von Linien zu verwenden, da ich hierbei genauer erkennen kann, wann FHEM empfangen hat.# Created by FHEM/98_SVG.pm, 2016-12-12 14:25:55
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid ytics
set ylabel "RSSI"
set y2label "RSSI"
set yrange [-95:-35]
set y2range [-95:-35]
#rssi_all_log 5:<SPEC1>::
plot "<IN>" using 1:2 axes x1y2 notitle ls l0 lw 1 with points
Anbei ein Ausschnitt der RSSI Plots, basierend auf den o.g. Files.
Viele Grüße!
Andreas
Zitat von: justme1968 am 18 Dezember 2016, 12:27:05
das kann man auch mit einer readingsGroup umsetzen. die wird auch direkt bei jedem refresh im browser aktualisiert ohne extra knopf.
define culRSSI readingsGroup <>,<HMLAN>,<CUL>,<CUL2>,<CUL3>,<panStamp>,<>\
cul_RSSI=.*:+cul_RSSI,+cul_TIME cul2_RSSI=.*:+hmlan_RSSI,+cul2_RSSI,+cul2_TIME cul3_RSSI=.*:+cul3_RSSI,+cul3_TIME panStamp_RSSI=.*:+panStamp_RSSI,+panStamp_TIME
attr culRSSI alias RSSI Werte
attr culRSSI room 9 System
attr culRSSI valueColumn { '' => 6, hmlan_RSSI => 1, cul_RSSI => 2, cul2_RSSI => 3, cul3_RSSI => 4, panStamp_RSSI => 5 }
attr culRSSI valueStyle {return undef if($READING =~ m/TIME/);; ($VALUE <= -85)?'style="color:red"':($VALUE <= -80)?'style="color:yellow"':undef}
gruss
andre
Ja, vollkommen richtig, geht auch gut mit readingsgroups (hatte ich auch vorher).
Kleiner Nachteil:
- Ich wechsele ab und zu mal die CULs/CUNOs/HMLAN1 (einer kommt dazu, einer wieder weg etc.) und müsste dann immer die "readingsgroups" entsprechend anpassen.
- Ich wollte ganz bewusst kein "refresh" bereits beim Seitenaufbau a'la readingsgroups, sondern diesen manuell erzeugen, damit ich die alten und neuen RSSI Werte vergleichen kann.
Eine Ergänzung ist noch das "plotten" der RSSI values , was ich additiv mache um größere (globalere) Veränderungen feststellen zu können und damit etwaige Auswirkungen auf mehrere Devices. --> https://forum.fhem.de/index.php/topic,62184.msg544163.html#msg544163
Viele Grüße!
Andreas
Ich hatte gerade gestern das Problem, dass ich auch die RSSI-Werte meiner neuen CCU2 sehen wollte (neben den HMLAN-Werten, die ich schon länger überwache). Habe dann erst einmal die Version von Andre angepasst, aber werde mir nun auch mal Deine Version, Andreas, näher ansehen. Schön fand ich, dass man die Spalten in der readingsGroup per sortColumn sortieren kann, so dass man neben der Farbkennzeichnung auch aus dem Rangplatz leicht Schlüsse ziehen kann.
define rg_RSSI readingsGroup <Sensor/Aktor>,<HMLAN>,<CCU2>,<Zeitstempel> HMLAN1_RSSI=.*:+HMLAN1_RSSI,+HMLAN1_TIME TYPE=HMCCUDEV:Heizung_.*.RSSI_DEVICE
attr rg_RSSI alias Sende- und Empfangspegel Homematic
attr rg_RSSI group Homematic
attr rg_RSSI mapping %ALIAS
attr rg_RSSI room Homematic,System
attr rg_RSSI sortColumn 2
attr rg_RSSI valueColumn { '' => 2, HMLAN1_RSSI => 1, HMLAN1_TIME => 3 }
attr rg_RSSI valueFormat { "%i dBm" if ($VALUE =~ m/^\-\d/o) }
attr rg_RSSI valueStyle {return undef if($READING =~ m/TIME/);; ($VALUE <= -85)?'style="text-align:right;;color:red"':($VALUE <= -80)?'style="text-align:right;;color:orange"':'style="text-align:right"'}
Zitat von: hartenthaler am 22 Dezember 2016, 19:01:59
Ich hatte gerade gestern das Problem, dass ich auch die RSSI-Werte meiner neuen CCU2 sehen wollte (neben den HMLAN-Werten, die ich schon länger überwache). Habe dann erst einmal die Version von Andre angepasst, aber werde mir nun auch mal Deine Version, Andreas, näher ansehen. Schön fand ich, dass man die Spalten in der readingsGroup per sortColumn sortieren kann, so dass man neben der Farbkennzeichnung auch aus dem Rangplatz leicht Schlüsse ziehen kann.
define rg_RSSI readingsGroup <Sensor/Aktor>,<HMLAN>,<CCU2>,<Zeitstempel> HMLAN1_RSSI=.*:+HMLAN1_RSSI,+HMLAN1_TIME TYPE=HMCCUDEV:Heizung_.*.RSSI_DEVICE
attr rg_RSSI alias Sende- und Empfangspegel Homematic
attr rg_RSSI group Homematic
attr rg_RSSI mapping %ALIAS
attr rg_RSSI room Homematic,System
attr rg_RSSI sortColumn 2
attr rg_RSSI valueColumn { '' => 2, HMLAN1_RSSI => 1, HMLAN1_TIME => 3 }
attr rg_RSSI valueFormat { "%i dBm" if ($VALUE =~ m/^\-\d/o) }
attr rg_RSSI valueStyle {return undef if($READING =~ m/TIME/);; ($VALUE <= -85)?'style="text-align:right;;color:red"':($VALUE <= -80)?'style="text-align:right;;color:orange"':'style="text-align:right"'}
Ich habe bei mir nun einige Dinge erweitert.
--> Hier lassen sich alle RSSI Werte löschen, damit bei etwaiger Neupositionierung nur die "neuen" Werte dargestellt werden können.
--> Überdies habe ich ein "highlighting" hinzugefügt, damit man recht schnell die "bestern" Empfangswerte in einer Zeile schneller erkennen kann. Gerade , wenn man mehrere CULs/CUNOs/MAXCubes/HMLANs beseitzt, ist so ein Überblick recht hilfreich.
--> Das schreiben der RSSI Werte in den internals habe ich via "Button" nun so geregelt, dass diese für alle CULs/CULn/MAx/HMLAN etc. ein/ausgeschaltet werden können. Also quasi ein "advaltrigger 0/1" gesetzt wird.
Viele Grüße!
Andreas
Hallo Andreas,
vielen lieben Dank für die Arbeit, tolle Idee und Umsetzung. Gefällt mir persönlich besser als Lösungen, die auf readingsGroup basieren. Ich habe zwei Anmerkungen:
1. Ich benutze für SlowRF neben einem CUL einen RFRCUL. Um den ebenfalls zu erfassen, habe ich den Anfang des notify rssi_read_from_device folgendermaßen geändert:
#########################################
## Liesst die RSSI Werte aller Devices ##
#########################################
# Schreibt dieses in ein Dummy device in HTML
define rssi_read_from_device notify RSSI_Chart:(refresh|clear) { \
my @culs_cul=devspec2array("TYPE=CUL");;\
my @culs =devspec2array("TYPE=HMLAN");;\
my @culs_rfr=devspec2array("TYPE=CUL_RFR");;\
push(@culs, @culs_cul, @culs_rfr);;\
(Ab da geht es mit Deinem Original-Code weiter. Neu / geändert sind die Zeilen mit dem @culs_rfr.)
Was hältst Du von dieser Erweiterung?
2. Die Gerätenamen in der ersten Spalte sind ja gleichzeitig Links. Ich habe den Webzugriff auf fhem mit einem Zertifikat gesichert, da funktionieren die Links nicht. Ich habe die Zeile, in der Du die Links erzeugst, wie folgt geändert:
$rssi_chart=$rssi_chart."<tr><td><div align='left'><b><a href=https://$FW_httpheader{Host}/fhem?detail=$dev target='_blank'><font color=$col>".$alias."</font></a></b></div></td>".$bestVal.$line."</tr>";;\
Geändert wurde "http" in "https". Dann funzt es auch mit https. Das müsste aber jeder User nach seinen Gegebenheiten anpassen. Vielleicht kann man das automatisieren? (Über Abfrage der Attribute HTTPS der FHEMWEBs? Da gibt es aber mehrere von...)
Viele Grüße,
Daniel
die Lösung ist schön und ausbaubar... sicherlich ist das readingsGroup die einfachere Variante... aber warum nicht in dieser Form...
möglicher Fehler: bei mir erfolgt ein highlight eines Wertes -54,5 obwohl ein Wert -54 vorhanden ist.
mögliche Erweiterung: der Beste Wert muss nicht immer von demjenigen kommen der gerade funkt... möglicherweise könnte mal das IOdev noch mit reinnehmen.
Gruß!
Hallo Daniel,
prima. Ich habe die kleinen Änderungen im Code mit eingebaut. Über einen Variable my $HTTP="http" kann nun eingestellt werden, ob man https oder http nutzt (bei https entsprechend $HTTP="https").
Gleichzeitig habe ich auch "CUL_RFR" sowie auch etwaige CCU2 als IODev mit berücksichtigt.
Ansonsten gibt es noch viele Code-Änderungen, einige BugFixes und viele Erweiterungen.
Nun kann auch jedes empfangene Device einzeln aus der Darstellung/Berechnung heraus genommen werden.
Einen Differenzdarstellung (gespeicherter RSSI Wert - aktueller RSSI Wert) ist nun möglich. Gerade das macht Sinn, da hiermit ein CUL/CUNO/HMLAN oder anderes IODev funktechnisch neu positioniert werden kann und das Ergebnis als RSSI Differenz schnell sichtbar und damit der Erfolg/oder Misserfolg der Neupositionierung deutlich wird.
Neue Version ... siehe mein erstes Posting am Anfang des Thread.
Viele Grüße!
Andreas
Zitat von: synaps-o-dan am 06 Januar 2017, 22:00:58
Hallo Andreas,
vielen lieben Dank für die Arbeit, tolle Idee und Umsetzung. Gefällt mir persönlich besser als Lösungen, die auf readingsGroup basieren. Ich habe zwei Anmerkungen:
1. Ich benutze für SlowRF neben einem CUL einen RFRCUL. Um den ebenfalls zu erfassen, habe ich den Anfang des notify rssi_read_from_device folgendermaßen geändert:
#########################################
## Liesst die RSSI Werte aller Devices ##
#########################################
# Schreibt dieses in ein Dummy device in HTML
define rssi_read_from_device notify RSSI_Chart:(refresh|clear) { \
my @culs_cul=devspec2array("TYPE=CUL");;\
my @culs =devspec2array("TYPE=HMLAN");;\
my @culs_rfr=devspec2array("TYPE=CUL_RFR");;\
push(@culs, @culs_cul, @culs_rfr);;\
(Ab da geht es mit Deinem Original-Code weiter. Neu / geändert sind die Zeilen mit dem @culs_rfr.)
Was hältst Du von dieser Erweiterung?
2. Die Gerätenamen in der ersten Spalte sind ja gleichzeitig Links. Ich habe den Webzugriff auf fhem mit einem Zertifikat gesichert, da funktionieren die Links nicht. Ich habe die Zeile, in der Du die Links erzeugst, wie folgt geändert:
$rssi_chart=$rssi_chart."<tr><td><div align='left'><b><a href=https://$FW_httpheader{Host}/fhem?detail=$dev target='_blank'><font color=$col>".$alias."</font></a></b></div></td>".$bestVal.$line."</tr>";;\
Geändert wurde "http" in "https". Dann funzt es auch mit https. Das müsste aber jeder User nach seinen Gegebenheiten anpassen. Vielleicht kann man das automatisieren? (Über Abfrage der Attribute HTTPS der FHEMWEBs? Da gibt es aber mehrere von...)
Viele Grüße,
Daniel
Zitat von: DerFrickler am 06 Januar 2017, 22:40:59
die Lösung ist schön und ausbaubar... sicherlich ist das readingsGroup die einfachere Variante... aber warum nicht in dieser Form...
möglicher Fehler: bei mir erfolgt ein highlight eines Wertes -54,5 obwohl ein Wert -54 vorhanden ist.
mögliche Erweiterung: der Beste Wert muss nicht immer von demjenigen kommen der gerade funkt... möglicherweise könnte mal das IOdev noch mit reinnehmen.
Gruß!
Ja, war ein Fehler, ist nun behoben. War die Rundung vor dem Komma, welches im String ausgetauscht wurde.
Viele Grüße!
Andreas
Hi Andreas,
erstmal vielen Dank für diesen "Codeschnipsel" - da ich auch unterschiedliche Systeme im Einsatz habe, ist das sehr hilfreich. Die Positionierung eines WLAN-CULs samit Jeelink-Gateway war so echt ein Kinderspiel.
Bei der Verwendung von CUL/CUN für MAX ist mir jedoch aufgefallen, dass (zumindest bei mir) lediglich die CUL_MAX in den Zeilen angezeigt werden, nicht jedoch die MAX!-Endgeräte (zB Wandthermostate oder Fensterkontakte) - siehe Anhang.
Somit habe ich zwar Homematic super im Blick, jedoch meine MAX-Geräte noch nicht so sehr. Wie man jetzt von den CUNs (für MAX) über die CUL_MAX auf die eigentlichen Devices kommt... keine Ahnung. Die Zeile für den CUL_MAX hinzugefügt
push(@culs, devspec2array("TYPE=CUL_MAX"));
war der einfache Part - aber das Internal heißt dann ja nicht "<name_des_cul>_RSSI", sondern lediglich "RSSI" - also in der Ecke
$cul_rssi="$_"."_RSSI";
zu ändern? War mir dann aber nicht sicher und wollte es nicht verbauen...
Vielleicht hast du ja eine Idee.
Gruß,
Tom
OK.
Hier die Änderungen ;-) Ging dann doch fix:
Hier habe ich nur den CUL_MAX hinzugefügt:
my @culs=devspec2array("TYPE=HMLAN");
push(@culs, devspec2array("TYPE=CUL"));
push(@culs, devspec2array("TYPE=CUL_RFR"));
push(@culs, devspec2array("TYPE=CUL_MAX"));
push(@culs, devspec2array("TYPE=HMCCUDEV"));
Weiter unten dann nur die Fallunterscheidung, ob es sich um einen CULMAX handelt oder nicht - bei mir geht das aus den Namenskonventionen leicht hervor - ansonsten müsste man sich erst noch TYPE holen...
foreach(@culs)
{
#Check if Device is a CULMAX
if ($_ =~ /CULMAX/)
{
$cul_rssi="RSSI";
}
else
{
$cul_rssi="$_"."_RSSI";
}
Für mich erzielt es das gewünschte.
Danke nochmal für den Code.
Zitat von: sledge am 14 Januar 2017, 16:05:24
OK.
Hier die Änderungen ;-) Ging dann doch fix:
Hier habe ich nur den CUL_MAX hinzugefügt:
my @culs=devspec2array("TYPE=HMLAN");
push(@culs, devspec2array("TYPE=CUL"));
push(@culs, devspec2array("TYPE=CUL_RFR"));
push(@culs, devspec2array("TYPE=CUL_MAX"));
push(@culs, devspec2array("TYPE=HMCCUDEV"));
Weiter unten dann nur die Fallunterscheidung, ob es sich um einen CULMAX handelt oder nicht - bei mir geht das aus den Namenskonventionen leicht hervor - ansonsten müsste man sich erst noch TYPE holen...
foreach(@culs)
{
#Check if Device is a CULMAX
if ($_ =~ /CULMAX/)
{
$cul_rssi="RSSI";
}
else
{
$cul_rssi="$_"."_RSSI";
}
Für mich erzielt es das gewünschte.
Danke nochmal für den Code.
Hallo Tom,
ich habe den CUL_MAX nun auch im Code angepasse und zusätzlich ...
if (InternalVal("$_","type","") eq "CUL_MAX")\
{\
$cul_rssi="RSSI"\
}\
else\
{\
$cul_rssi="$_"."_RSSI"\
}\
... eingefügt, damit wird es auch anderen usern mit einem CUL_MAX (unabhängig von der Devicebezeichnung) möglich, den Code zu nutzen.
Ich selbst besitze kein MAX (CUL): Frage: Lautet die internal Variable tatsächlich nur "RSSI" ? ... das hatte ich jetzt einmal angenommen und im Code eingefügt.
Viele Grüße!
Andreas
Hi Andreas,
das Internal des MAX!-Devices lautet in der Tat nur RSSI:
Internals:
CFGFN
CHANGED
DEF WallMountedThermostat 136daf
FZ.ELW.CULMAX_MSGCNT 173
FZ.ELW.CULMAX_TIME 2017-01-15 09:37:44
IODev FZ.ELW.CULMAX
LASTInputDev WZ.EG.CULMAX
MSGCNT 318
NAME AN.OG.WT
NR 149
RSSI -64
STATE 18.0 °C
TYPE MAX
WZ.EG.CULMAX_MSGCNT 145
WZ.EG.CULMAX_TIME 2017-01-15 09:43:34
addr 136daf
backend FZ.ELW.CULMAX
rferror 0
type WallMountedThermostat
Helper:
Dblog:
Battery:
Dblog:
TIME 1484423815.28377
VALUE ok
Desiredtemperature:
Dblog:
TIME 1484469640.95677
VALUE 18.0
Temperature:
Dblog:
TIME 1484469640.95677
VALUE 21.5
Readings:
2016-12-17 17:36:19 MAXLAN_error 0
2016-12-17 17:36:19 MAXLAN_errorInCommand
2016-12-17 17:36:19 MAXLAN_initialized 1
2016-12-17 17:36:19 MAXLAN_isAnswer 0
2016-12-17 17:36:19 MAXLAN_valid 1
2017-01-15 09:43:34 RSSI -64
2016-12-17 22:16:45 TimeInformationHour 1
2017-01-14 20:57:01 battery ok
2016-12-17 22:20:05 boostDuration 25
2016-12-17 22:20:05 boostValveposition 80
2016-12-17 22:20:05 comfortTemperature 21.0
2017-01-15 09:43:34 deltaTemp 3.5
2017-01-15 09:43:34 desiredTemperature 18.0
2017-01-14 20:57:01 displayActualTemperature 1
2016-12-17 22:20:05 ecoTemperature 17.0
2016-12-17 22:20:05 firmware 1.0
2016-12-17 22:20:05 groupid 0
2016-12-17 22:20:05 maximumTemperature on
2016-12-17 22:20:05 measurementOffset 0.0
2016-12-17 22:20:05 minimumTemperature off
2017-01-14 20:57:01 mode manual
2017-01-15 08:56:31 msgcnt 123
2017-01-15 09:43:34 state 18.0 °C
2017-01-15 09:43:34 temperature 21.5
2016-12-17 22:20:05 testresult 255
2016-12-17 22:20:05 weekprofile-0-Sat-temp 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-0-Sat-time 00:00-06:00 / 06:00-22:00 / 22:00-00:00
2016-12-17 22:20:05 weekprofile-1-Sun-temp 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-1-Sun-time 00:00-06:00 / 06:00-22:00 / 22:00-00:00
2016-12-17 22:20:05 weekprofile-2-Mon-temp 17.0 °C / 21.0 °C / 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-2-Mon-time 00:00-06:00 / 06:00-09:00 / 09:00-17:00 / 17:00-23:00 / 23:00-00:00
2016-12-17 22:20:05 weekprofile-3-Tue-temp 17.0 °C / 21.0 °C / 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-3-Tue-time 00:00-06:00 / 06:00-09:00 / 09:00-17:00 / 17:00-23:00 / 23:00-00:00
2016-12-17 22:20:05 weekprofile-4-Wed-temp 17.0 °C / 21.0 °C / 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-4-Wed-time 00:00-06:00 / 06:00-09:00 / 09:00-17:00 / 17:00-23:00 / 23:00-00:00
2016-12-17 22:20:05 weekprofile-5-Thu-temp 17.0 °C / 21.0 °C / 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-5-Thu-time 00:00-06:00 / 06:00-09:00 / 09:00-17:00 / 17:00-23:00 / 23:00-00:00
2016-12-17 22:20:05 weekprofile-6-Fri-temp 17.0 °C / 21.0 °C / 17.0 °C / 21.0 °C / 17.0 °C
2016-12-17 22:20:05 weekprofile-6-Fri-time 00:00-06:00 / 06:00-09:00 / 09:00-17:00 / 17:00-23:00 / 23:00-00:00
2016-12-17 22:20:05 windowOpenTemperature 12.0
Internals:
interfaces thermostat;temperature;battery
Attributes:
DbLogInclude battery,desiredTemperature,temperature
IODev FZ.ELW.CULMAX
alias OG Ankleide Eltern
event-min-interval battery:86400,desiredTemperature:600,temperature:300
event-on-change-reading battery,desiredTemperature,temperature
group Thermostate
icon max_wandthermostat
room MAX
userReadings deltaTemp {sprintf("%.1f",ReadingsVal("AN.OG.WT","temperature","")-ReadingsVal("AN.OG.WT","desiredTemperature",""))}
userattr Ther Ther_map structexclude
Im CULMAX lautet das
nternals:
CFGFN
DEF 060606
FZ.ELW.CULMAX_MSGCNT 3
FZ.ELW.CULMAX_TIME 2017-01-15 06:58:41
FZ.ELW.CUL_MSGCNT 7347
FZ.ELW.CUL_RAWMSG Z0F54040312345606060600110F093B51
FZ.ELW.CUL_RSSI -64.5
FZ.ELW.CUL_TIME 2017-01-15 09:59:19
IODev FZ.ELW.CUL
LASTInputDev FZ.ELW.CUL
MSGCNT 7350
NAME FZ.ELW.CULMAX
NR 135
STATE Defined
TYPE CUL_MAX
WZ.EG.CUL_MSGCNT 1852
WZ.EG.CUL_RAWMSG Z0C270442136DAF0000000024D7
WZ.EG.CUL_RSSI -64.5
WZ.EG.CUL_TIME 2017-01-15 09:57:54
addr 060606
cnt 0
pairmode 0
retryCount 0
Daher wurde der CUL_MAX ja auch so schön in der ersten Spalte einsortiert, als wäre er ein Enddevice.
Jetzt stelle ich fest, dass bei allen MAX!-Devices der gleiche RSSI-Wert steht, obwohl ich zwei Cubes im Einsatz habe. Aber bei den MAX!-Devices selber habe ich auch nur diesen Wert stehen - also nicht je CUL_MAX einen eigenen (wie zB bei Homematic).
Danke für die Änderung im Code.
Tom
Hallo,
vielleicht kann mir jemand helfen.
Ich bekomme immer den Fehler im Log.
Ich denke es fehlt eine Klammer oder so.
Habe auch schon mehrfach versucht den Code neu einzugeben.
Ich finde den fehler nicht!
2017.01.16 14:59:49 1: ERROR evaluating my $EVTPART0='refresh';my $EVENT='refresh';my $TYPE='dummy';my $SELF='rssi_read_from_device';my $NAME='RSSI_Chart';{ my @culs=devspec2array("TYPE=HMLAN");; push(@culs, devspec2array("TYPE=CUL"));; push(@culs, devspec2array("TYPE=CUL_RFR"));; push(@culs, devspec2array("TYPE=HMCCUDEV"));; push(@culs, devspec2array("TYPE=CUL_MAX"));; my $HTTP="https";; # change it to "https", if you using https instead of http for FHEM my $nr_culs=scalar @culs;; my $colspan=$nr_culs+3;; my $dev ="";; my $cul_rssi="";; my $datum = strftime "%Y-%m-%d_%H:%M:%S", localtime;; my $rssi_chart="<table border='1'><tr bgcolor=yellow><td colspan=".$colspan."><div align='center'><font color='black'><b>RSSI Values of all devices from: ".$datum."</b></font></div></td></tr>";; my $nr=0;; my $cnt=0;; my $num=0;; my $line="";; my $header="<td>Enable</td>";; my $col="green";; my $alias="";; my $bestVal="";; my @all_values=();; my $best_value="";; my $ButHighLight=Value("RSSI_SertUpHighlight");; my $ButBestCol=Value("RSSI_SetUpBestCol");; my $ButLastActive=Value("RSSI_SetUpLastActive");; my $ButShowAverage=Value("RSSI_SetUpAverage");; my $ButShowOldValues=Value("RSSI_SetUpShowOldValues");; my @cul_avg=();; my @cul_num=();; my $all_best=0;; my $nr_allBest=0;; my $disabled="";; my $disabled_set="";; my $dev_disable="";; my $old_rssi_val="";; my $org_int="";; my $calc_diffs=ReadingsVal("RSSI_SetUpAverageSaveOldValues","state","");; if ($ButBestCol eq 1) {$header=$header."<td>best</td>"};; my @device=devspec2array("i:LASTInputDev=\\w.*");; @device = sort @device;; foreach(@culs) { $header=$header."<td><div align='center'><font color='lightblue'><a href=$HTTP://$FW_httpheader{Host}/fhem?detail=$_ target='_blank'>".$_."</a></font><div></td>";; } $rssi_chart=$rssi_chart."<tr><td><div align='left'><font color='lightblue'>Device</font></div></td>".$header."</tr>";; foreach(@device) { $dev=$_;; $line="";; $alias=AttrVal($dev,"alias",$dev);; @all_values=();; $num=0;; $dev_disable=ReadingsVal("$dev","RSSI_disable","0");; foreach(@culs) { if (InternalVal("$_","type","") eq "CUL_MAX") { $cul_rssi="RSSI" } else { $cul_rssi="$_"."_RSSI" } if ($EVENT eq "clear") { delete($defs{"$dev"}{"$cul_rssi"}) } my $all_int=InternalVal($dev,$cul_rssi,"");; if ($calc_diffs eq "1") { $old_rssi_val=ReadingsVal($dev,$cul_rssi."_old","");; if (($old_rssi_val)&&($all_int)) { $org_int=$all_int;; $all_int=$all_int-$old_rssi_val } else { $all_int="0" } } my $cul_time=InternalVal($dev,"$_"."_TIME","");; my $last_activity_since = int(time - time_str2num($cul_time));; my $best_value = "";; if (!$cul_avg[$num]) { $cul_avg[$num]=0;; } if (!$cul_num[$num]) { $cul_num[$num]=0;; } if ($all_int) { $nr ++ } if (($all_int) && ($dev_disable eq "0")) { $cul_avg[$num]=$cul_avg[$num] + $all_int;; $cul_num[$num]=$cul_num[$num] + 1;; @all_values = (@all_values, $all_int);; my $ShowOldDiffs="";; if ($calc_diffs ne "1") { if ($all_int >= -75) { $col="lightgreen" } if ($all_int < -75) { $col="yellow" } if ($all_int <= -80) { $col="#ff8533" } if ($all_int <= -85) { $col="red" } } else { if ($all_int >= 0) { $col="lightgreen" } else { $col="red" } if ($ButShowOldValues eq "1") { $ShowOldDiffs="<br><font color='white' size='1'>$old_rssi_val →;;; $org_int</font>" } } my $row="<td><font color=$col> ".$all_int." </font>$ShowOldDiffs";; if ($ButLastActive eq 0) { $line=$line.$row."</td>";; } if ($ButLastActive eq 1) { $line=$line.$row."<div align='center'><font color='white' size='1'>(".$last_activity_since." s)</font></div></td>";; } } else { $line=$line."<td></td>";; } $num++;; } if ($nr > 0) { # find best RSSI values and mark with bold and underline if (@all_values) { $best_value = $all_values[0];; for(@all_values) { $best_value = $_ if($_ > $best_value);; } } if ($dev_disable eq 0) { if (!$best_value) {$best_value=0} if ($best_value >= -75) { $col="lightgreen" } if ($best_value < -75) { $col="yellow" } if ($best_value <= -80) { $col="red" } if ($best_value <= -85) { $col="#CC6600" } $line =~ s/\./,/g;; if ($ButHighLight eq 1) { $nr_allBest++;; $all_best=$all_best+$best_value;; my $search_best_value=$best_value;; $best_value =~ s/\./,/g;; $line =~ s/ $search_best_value /<strong><div style='background-color: #006600'>$best_value<\/div><\/strong>/g;; } } if ($ButBestCol eq 1) { $bestVal="<td><font color=$col>".$best_value."</font></td>";; } if ($dev_disable eq 1) { $disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-off.png";; $disabled_set = "0";; $col="grey";; if ($ButBestCol eq 1) { $bestVal="<td></td>";; } } else { $disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";; $disabled_set = "1";; } $cnt++;; $rssi_chart=$rssi_chart."<tr><td><div align='left'><b><a href=$HTTP://$FW_httpheader{Host}/fhem?detail=$dev target='_blank'><font color=$col>";; $rssi_chart=$rssi_chart.$cnt." ".$alias."</font></a></b></div></td><td>";; $rssi_chart=$rssi_chart."<a href=$HTTP://$FW_httpheader{Host}/fhem?cmd=setreading%20$dev%20RSSI_disable%20$disabled_set;;;;trigger%20RSSI_Chart%20refresh>";; $rssi_chart=$rssi_chart."<img src=$disabled width=75%></a></td>".$bestVal.$line."</tr>";; $nr=0;; } } if ($ButShowAverage eq 1) { my $txt_rssi="";; $rssi_chart="$rssi_chart"."<tr><td colspan='100%'></td></tr>";; if ($calc_diffs eq "1") { $txt_rssi="delta RSSI (diff to stored values)" } else { $txt_rssi="average RSSI" } $rssi_chart="$rssi_chart"."<tr bgcolor=MediumBlue><div align='center'><td><font color='white'><b>$txt_rssi</b></font></td><td></td>";; if ($ButBestCol eq 1) { if (!$nr_allBest) {$nr_allBest=1} my $best_all="";; if ($calc_diffs eq "1") { $best_all= sprintf "%.2f", $all_best;; if ($best_all >= 0) { $col="lightgreen" } else { $col="red" } } else { $best_all= sprintf "%.2f", $all_best/$nr_allBest;; if ($best_all != 0) { if ($best_all >= -75) { $col="lightgreen" } if ($best_all < -75) { $col="yellow" } if ($best_all <= -80) { $col="#ff8533" } if ($best_all <= -85) { $col="red" } } } $rssi_chart=$rssi_chart."<td><font color=$col><b>".$best_all."</b></font></td>";; } my $average="";; for(my $i = 0;; $i < @cul_avg;; $i++) { if ($cul_avg[$i] != 0) { if ($calc_diffs eq "1") { $average = sprintf "%.2f", $cul_avg[$i];; if ($average >= 0) { $col="lightgreen" } else { $col="red" } } else { $average = sprintf "%.2f", $cul_avg[$i]/$cul_num[$i];; if ($average >= -75) { $col="lightgreen" } if ($average < -75) { $col="yellow" } if ($average <= -80) { $col="#ff8533" } if ($average <= -85) { $col="red" } } } else { $average="";; } $rssi_chart="$rssi_chart"."<td><font color=$col><b>$average</b></font></td>";; Log 0,"RSSI Average:$culs[$i];;$average";; } if (!$nr_allBest) {$nr_allBest = 1} my $best_all= sprintf "%.2f", $all_best/$nr_allBest;; Log 0,"RSSI Average all best: $best_all";; $rssi_chart="$rssi_chart"."</tr>";; } $rssi_chart="$rssi_chart"."</table>";; if ($EVENT eq "clear") { Log 0,"Clearing all RSSI internal values";; } fhem ("set RSSI_Chart $rssi_chart");; }: Missing right curly or square bracket at (eval 1014159) line 1, at end of line
syntax error at (eval 1014159) line 1, at EOF
2017.01.16 14:59:49 3: rssi_read_from_device return value: Missing right curly or square bracket at (eval 1014159) line 1, at end of line
syntax error at (eval 1014159) line 1, at EOF
MFG Sig10680
Zitat von: sig10680 am 16 Januar 2017, 15:10:23
Hallo,
vielleicht kann mir jemand helfen.
Ich bekomme immer den Fehler im Log.
Ich denke es fehlt eine Klammer oder so.
Habe auch schon mehrfach versucht den Code neu einzugeben.
Ich finde den fehler nicht!
2017.01.16 14:59:49 1: ERROR evaluating my $EVTPART0='refresh';my $EVENT='refresh';my $TYPE='dummy';my $SELF='rssi_read_from_device';my $NAME='RSSI_Chart';{ my @culs=devspec2array("TYPE=HMLAN");; push(@culs, devspec2array("TYPE=CUL"));; push(@culs, devspec2array("TYPE=CUL_RFR"));; push(@culs, devspec2array("TYPE=HMCCUDEV"));; push(@culs, devspec2array("TYPE=CUL_MAX"));; my $HTTP="https";; # change it to "https", if you using https instead of http for FHEM my $nr_culs=scalar @culs;; my $colspan=$nr_culs+3;; my $dev ="";; my $cul_rssi="";; my $datum = strftime "%Y-%m-%d_%H:%M:%S", localtime;; my $rssi_chart="<table border='1'><tr bgcolor=yellow><td colspan=".$colspan."><div align='center'><font color='black'><b>RSSI Values of all devices from: ".$datum."</b></font></div></td></tr>";; my $nr=0;; my $cnt=0;; my $num=0;; my $line="";; my $header="<td>Enable</td>";; my $col="green";; my $alias="";; my $bestVal="";; my @all_values=();; my $best_value="";; my $ButHighLight=Value("RSSI_SertUpHighlight");; my $ButBestCol=Value("RSSI_SetUpBestCol");; my $ButLastActive=Value("RSSI_SetUpLastActive");; my $ButShowAverage=Value("RSSI_SetUpAverage");; my $ButShowOldValues=Value("RSSI_SetUpShowOldValues");; my @cul_avg=();; my @cul_num=();; my $all_best=0;; my $nr_allBest=0;; my $disabled="";; my $disabled_set="";; my $dev_disable="";; my $old_rssi_val="";; my $org_int="";; my $calc_diffs=ReadingsVal("RSSI_SetUpAverageSaveOldValues","state","");; if ($ButBestCol eq 1) {$header=$header."<td>best</td>"};; my @device=devspec2array("i:LASTInputDev=\\w.*");; @device = sort @device;; foreach(@culs) { $header=$header."<td><div align='center'><font color='lightblue'><a href=$HTTP://$FW_httpheader{Host}/fhem?detail=$_ target='_blank'>".$_."</a></font><div></td>";; } $rssi_chart=$rssi_chart."<tr><td><div align='left'><font color='lightblue'>Device</font></div></td>".$header."</tr>";; foreach(@device) { $dev=$_;; $line="";; $alias=AttrVal($dev,"alias",$dev);; @all_values=();; $num=0;; $dev_disable=ReadingsVal("$dev","RSSI_disable","0");; foreach(@culs) { if (InternalVal("$_","type","") eq "CUL_MAX") { $cul_rssi="RSSI" } else { $cul_rssi="$_"."_RSSI" } if ($EVENT eq "clear") { delete($defs{"$dev"}{"$cul_rssi"}) } my $all_int=InternalVal($dev,$cul_rssi,"");; if ($calc_diffs eq "1") { $old_rssi_val=ReadingsVal($dev,$cul_rssi."_old","");; if (($old_rssi_val)&&($all_int)) { $org_int=$all_int;; $all_int=$all_int-$old_rssi_val } else { $all_int="0" } } my $cul_time=InternalVal($dev,"$_"."_TIME","");; my $last_activity_since = int(time - time_str2num($cul_time));; my $best_value = "";; if (!$cul_avg[$num]) { $cul_avg[$num]=0;; } if (!$cul_num[$num]) { $cul_num[$num]=0;; } if ($all_int) { $nr ++ } if (($all_int) && ($dev_disable eq "0")) { $cul_avg[$num]=$cul_avg[$num] + $all_int;; $cul_num[$num]=$cul_num[$num] + 1;; @all_values = (@all_values, $all_int);; my $ShowOldDiffs="";; if ($calc_diffs ne "1") { if ($all_int >= -75) { $col="lightgreen" } if ($all_int < -75) { $col="yellow" } if ($all_int <= -80) { $col="#ff8533" } if ($all_int <= -85) { $col="red" } } else { if ($all_int >= 0) { $col="lightgreen" } else { $col="red" } if ($ButShowOldValues eq "1") { $ShowOldDiffs="<br><font color='white' size='1'>$old_rssi_val →;;; $org_int</font>" } } my $row="<td><font color=$col> ".$all_int." </font>$ShowOldDiffs";; if ($ButLastActive eq 0) { $line=$line.$row."</td>";; } if ($ButLastActive eq 1) { $line=$line.$row."<div align='center'><font color='white' size='1'>(".$last_activity_since." s)</font></div></td>";; } } else { $line=$line."<td></td>";; } $num++;; } if ($nr > 0) { # find best RSSI values and mark with bold and underline if (@all_values) { $best_value = $all_values[0];; for(@all_values) { $best_value = $_ if($_ > $best_value);; } } if ($dev_disable eq 0) { if (!$best_value) {$best_value=0} if ($best_value >= -75) { $col="lightgreen" } if ($best_value < -75) { $col="yellow" } if ($best_value <= -80) { $col="red" } if ($best_value <= -85) { $col="#CC6600" } $line =~ s/\./,/g;; if ($ButHighLight eq 1) { $nr_allBest++;; $all_best=$all_best+$best_value;; my $search_best_value=$best_value;; $best_value =~ s/\./,/g;; $line =~ s/ $search_best_value /<strong><div style='background-color: #006600'>$best_value<\/div><\/strong>/g;; } } if ($ButBestCol eq 1) { $bestVal="<td><font color=$col>".$best_value."</font></td>";; } if ($dev_disable eq 1) { $disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-off.png";; $disabled_set = "0";; $col="grey";; if ($ButBestCol eq 1) { $bestVal="<td></td>";; } } else { $disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";; $disabled_set = "1";; } $cnt++;; $rssi_chart=$rssi_chart."<tr><td><div align='left'><b><a href=$HTTP://$FW_httpheader{Host}/fhem?detail=$dev target='_blank'><font color=$col>";; $rssi_chart=$rssi_chart.$cnt." ".$alias."</font></a></b></div></td><td>";; $rssi_chart=$rssi_chart."<a href=$HTTP://$FW_httpheader{Host}/fhem?cmd=setreading%20$dev%20RSSI_disable%20$disabled_set;;;;trigger%20RSSI_Chart%20refresh>";; $rssi_chart=$rssi_chart."<img src=$disabled width=75%></a></td>".$bestVal.$line."</tr>";; $nr=0;; } } if ($ButShowAverage eq 1) { my $txt_rssi="";; $rssi_chart="$rssi_chart"."<tr><td colspan='100%'></td></tr>";; if ($calc_diffs eq "1") { $txt_rssi="delta RSSI (diff to stored values)" } else { $txt_rssi="average RSSI" } $rssi_chart="$rssi_chart"."<tr bgcolor=MediumBlue><div align='center'><td><font color='white'><b>$txt_rssi</b></font></td><td></td>";; if ($ButBestCol eq 1) { if (!$nr_allBest) {$nr_allBest=1} my $best_all="";; if ($calc_diffs eq "1") { $best_all= sprintf "%.2f", $all_best;; if ($best_all >= 0) { $col="lightgreen" } else { $col="red" } } else { $best_all= sprintf "%.2f", $all_best/$nr_allBest;; if ($best_all != 0) { if ($best_all >= -75) { $col="lightgreen" } if ($best_all < -75) { $col="yellow" } if ($best_all <= -80) { $col="#ff8533" } if ($best_all <= -85) { $col="red" } } } $rssi_chart=$rssi_chart."<td><font color=$col><b>".$best_all."</b></font></td>";; } my $average="";; for(my $i = 0;; $i < @cul_avg;; $i++) { if ($cul_avg[$i] != 0) { if ($calc_diffs eq "1") { $average = sprintf "%.2f", $cul_avg[$i];; if ($average >= 0) { $col="lightgreen" } else { $col="red" } } else { $average = sprintf "%.2f", $cul_avg[$i]/$cul_num[$i];; if ($average >= -75) { $col="lightgreen" } if ($average < -75) { $col="yellow" } if ($average <= -80) { $col="#ff8533" } if ($average <= -85) { $col="red" } } } else { $average="";; } $rssi_chart="$rssi_chart"."<td><font color=$col><b>$average</b></font></td>";; Log 0,"RSSI Average:$culs[$i];;$average";; } if (!$nr_allBest) {$nr_allBest = 1} my $best_all= sprintf "%.2f", $all_best/$nr_allBest;; Log 0,"RSSI Average all best: $best_all";; $rssi_chart="$rssi_chart"."</tr>";; } $rssi_chart="$rssi_chart"."</table>";; if ($EVENT eq "clear") { Log 0,"Clearing all RSSI internal values";; } fhem ("set RSSI_Chart $rssi_chart");; }: Missing right curly or square bracket at (eval 1014159) line 1, at end of line
syntax error at (eval 1014159) line 1, at EOF
2017.01.16 14:59:49 3: rssi_read_from_device return value: Missing right curly or square bracket at (eval 1014159) line 1, at end of line
syntax error at (eval 1014159) line 1, at EOF
MFG Sig10680
Hast Du den gesamten! Code in z.B. ein eigenes cfg-File geschrieben und z.B. via "include xxx.conf" im "fhem.cfg" eingebunden ?
Wann kommt der Fehler? Beim "klicken" auf "refresh" ?
Ich habe einmal "reverse" mein Codebeispiel aus dem Thread in eine eigene Include-Datei gespeichert und es läuft.
Vorschlag:
Speicher doch einmal den gesamten Code (komplett) in ein z.b. /opt/fhem/FHEM/fhem.rssi.cfg ... file (falls du linux hast).
und include den Code in Deiner fhem.cfg mit ...
include /opt/fhem/FHEM/fhem.rssi.cfg
Viele Grüße!
Andreas
Ich habe den Code per Paste & Copy eingefügt!
Der fehler kommt beim klicken auf refresh.
War das falsch?
Zitat von: fhem-challenge am 16 Januar 2017, 15:40:45
Hast Du den gesamten Code in z.B. ein eigenes conf File geschrieben und z.B. via "include xxx.conf" im "fhem.cfg" eingebunden ?
Wann kommt der Fehler? Beim "klicken" auf "refresh" ?
Viele Grüße!
Andreas
mfg Sig10680
Zitat von: sig10680 am 16 Januar 2017, 15:45:07
Ich habe den Code per Paste & Copy eingefügt!
Der fehler kommt beim klicken auf refresh.
War das falsch?
mfg Sig10680
Nein, war richtig.
Vorschlag:
Speicher doch einmal den gesamten Code (komplett) in ein z.b. /opt/fhem/FHEM/fhem.rssi.cfg ... file (falls du linux hast).
und include den Code in Deiner fhem.cfg mit ...
include /opt/fhem/FHEM/fhem.rssi.cfg
Zitat von: fhem-challenge am 16 Januar 2017, 15:48:57
Nein, war richtig.
Vorschlag:
Speicher doch einmal den gesamten Code (komplett) in ein z.b. /opt/fhem/FHEM/fhem.rssi.cfg ... file (falls du linux hast).
und include den Code in Deiner fhem.cfg mit ...
include /opt/fhem/FHEM/fhem.rssi.cfg
Ich teste und melde mich!
Danke vorab
Zitat von: fhem-challenge am 16 Januar 2017, 15:48:57
Nein, war richtig.
Vorschlag:
Speicher doch einmal den gesamten Code (komplett) in ein z.b. /opt/fhem/FHEM/fhem.rssi.cfg ... file (falls du linux hast).
und include den Code in Deiner fhem.cfg mit ...
include /opt/fhem/FHEM/fhem.rssi.cfg
Danke für den Tip mit der include Datei hat es funktioniert. Jetzt muss ich nur noch feinheiten einstellen.
Kann ich auch als Typ den HMUARTLGW eintragen? und von Ihm den RSSI auszulesen?
Danke Sig10680
Zitat von: sig10680 am 16 Januar 2017, 19:57:42
Danke für den Tip mit der include Datei hat es funktioniert. Jetzt muss ich nur noch feinheiten einstellen.
Kann ich auch als Typ den HMUARTLGW eintragen? und von Ihm den RSSI auszulesen?
Danke Sig10680
Ja, das geht.
Schicke mir mal bitte einen Auszug aus einem Devices, welches vom HMUARTLGW empfangen wurde (also alle Reading und Internals). Auch bitte die internals und readings des UART Devices. Wenn ich weiss, wie die internals zum RSSI beim UART lauten, kann ich das im Code einfügen.
Viele Grüße!
Andreas
ZitatBei allen CULs/CUN./HMLAN etc. attr CUL addvaltrigger=1 ... setzen (Hinweis: Das kann auch durch die Funktion (siehe code) erreicht werden
Ich bin mir nicht sicher: muss dieses Attribut gesetzt werden und um welche "Funktion" geht es?
Gruß
Blueberry63
Zitat von: fhem-challenge am 17 Januar 2017, 08:37:43
Ja, das geht.
Schicke mir mal bitte einen Auszug aus einem Devices, welches vom HMUARTLGW empfangen wurde (also alle Reading und Internals). Auch bitte die internals und readings des UART Devices. Wenn ich weiss, wie die internals zum RSSI beim UART lauten, kann ich das im Code einfügen.
Viele Grüße!
Andreas
Super das geht ja sehr schnell bei dir!
HMUARTLGW
Internals:
AssignedPeerCnt 32
CNT 245
DEF 192.168.150.197
DEVCNT 15
DevState 99
DevType LGW
DeviceName 192.168.150.197:2000
FD 78
LastOpen 1484558710.08688
NAME HMLGW
NR 593
PARTIAL
RAWMSG 0500003DE3861044100F0000000A98C40C0000
RSSI -61
STATE opened
TYPE HMUARTLGW
XmitOpen 1
msgLoadCurrent 3
msgLoadHistory 0/0/0/0/0/1/1/0/-1/0/0/0
msgLoadHistoryAbs 3/3/3/3/3/3/2/1/1/2/2/2/2
owner XXXXXX
owner_CCU VCCU
Readings:
2017-01-16 10:25:15 D-HMIdAssigned XXXXXX
2017-01-16 10:25:15 D-HMIdOriginal FFFFFF
2017-01-16 10:25:10 D-LANfirmware 1.1.5
2017-01-16 10:25:15 D-firmware 1.4.1
2017-01-16 10:25:10 D-serialNr XXXXXXX
2017-01-16 10:25:10 D-type eQ3-HM-LGW
2017-01-16 10:25:15 cond ok
2017-01-17 10:24:40 load 3
2017-01-16 10:25:15 loadLvl low
2017-01-16 10:25:10 state opened
CUL_HM
Internals:
DEF xxxxx
HMLAN1_MSGCNT 686
HMLAN1_RAWMSG E4C2265,0000,269A1321,FF,FFA9,B6A6414C22650A0650018CC8
HMLAN1_RSSI -87
HMLAN1_TIME 2017-01-17 10:57:16
HMLGW_MSGCNT 700
HMLGW_RAWMSG 0501002EB6A6414C22650A0650018CC8
HMLGW_RSSI -46
HMLGW_TIME 2017-01-17 10:57:16
IODev HMLGW
LASTInputDev nanoCUL
MSGCNT 2090
NAME HM_Sensor_EG_Haustuer
NOTIFYDEV global
NR 589
NTFY_ORDER 50-HM_Sensor_EG_Haustuer
STATE open
TYPE CUL_HM
lastMsg No:B6 - t:41 s:4C2265 d:0A0650 018CC8
nanoCUL_MSGCNT 704
nanoCUL_RAWMSG A0CB6A6414C22650A0650018CC8::-67:nanoCUL
nanoCUL_RSSI -67
nanoCUL_TIME 2017-01-17 10:57:16
protLastRcv 2017-01-17 10:57:16
protSnd 709 last_at:2017-01-17 10:57:16
protState CMDs_done
rssi_at_HMLAN1 max:-74 min:-100 avg:-82.65 cnt:686 lst:-87
rssi_at_HMLGW max:-40 min:-54 avg:-44.13 cnt:700 lst:-46
rssi_at_nanoCUL min:-80.5 max:-47 cnt:704 avg:-57.5 lst:-67
Ich denke ich habe jetzt alles was du benötigst!
mfg Sig10680
Zitat von: blueberry63 am 17 Januar 2017, 10:31:49
Ich bin mir nicht sicher: muss dieses Attribut gesetzt werden und um welche "Funktion" geht es?
Gruß
Blueberry63
Das geht automatisch bei anklicken von "Enable RSSI reading in internals". Das muss nur einmal erfolgen, weil hier advaltrigger=1 an allen IODev's gesetzt wird und damit das "Speichern" der RSSI Werte erfolgt.
Viele Grüße!
Andreas
Alles klar. Danke für die schnelle Antwort. Dann warte ich mal auf die angepasste Version für HMUARTLGW :-)
Gruß
Blueberry63
Zitat von: blueberry63 am 17 Januar 2017, 11:12:40
Alles klar. Danke für die schnelle Antwort. Dann warte ich mal auf die angepasste Version für HMUARTLGW :-)
Gruß
Blueberry63
Ich habe den Code geändert, sodass nun das HMUARTLGW auch gelesen wird.
Ist im Prinzip ganz einfach: Schlicht an den Stellen, an dem das array zusammengebastelt wird das entsprechende Attribut (internals), welches das IODev kennzeichnet, einfügen. Im Falle des HMUARTLGW ist es wie folgt (rot) dar gestellt.
push(@culs, devspec2array("TYPE=HMLAN"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW "));;\
Viele Grüße!
Andreas
Zitat von: fhem-challenge am 17 Januar 2017, 11:40:29
Ich habe den Code geändert, sodass nun das HMUARTLGW auch gelesen wird.
Ist im Prinzip ganz einfach: Schlicht an den Stellen, an dem das array zusammengebastelt wird das entsprechende Attribut (internals), welches das IODev kennzeichnet, einfügen. Im Falle des HMUARTLGW ist es wie folgt (rot) dar gestellt.
push(@culs, devspec2array("TYPE=HMLAN"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW "));;\
Viele Grüße!
Andreas
Super Danke bei mir läuft es einwandfrei!
Schneller Support!!! TOP!
Ein kleines Problem gibt es doch (siehe Bild)!
mfg Sig10680
Hmm, ich habe das RSSI Chart mittels der Beschreibung im 1. Post angelegt, aber die Tabelle baut sich nicht auf???
Außerdem sehe ich nirgends das Attribut "addvaltrigger=1 ".
Habe ich etwas übersehen?
Wie werden denn eigentlich die Dummies für das Menü ausgewertet? Müsste es dafür nicht Notifies geben?
Gruß
Blueberry63
Zitat von: blueberry63 am 17 Januar 2017, 13:31:21
Hmm, ich habe das RSSI Chart mittels der Beschreibung im 1. Post angelegt, aber die Tabelle baut sich nicht auf???
Außerdem sehe ich nirgends das Attribut "addvaltrigger=1 ".
Habe ich etwas übersehen?
Wie werden denn eigentlich die Dummies für das Menü ausgewertet? Müsste es dafür nicht Notifies geben?
Gruß
Blueberry63
Vorschlag:
Speicher doch einmal den gesamten Code (komplett) in ein z.b. /opt/fhem/FHEM/fhem.rssi.cfg ... file (falls du linux hast).
und include den Code in Deiner fhem.cfg mit ...
include /opt/fhem/FHEM/fhem.rssi.cfg
Ich vermute einmal, es fehlen Dir code-Teile. Wie sieht denn im Log die Fehlermeldung aus ?
advaltrigger wird erst dann in den Devices eingetragen, wenn Du "Enable RSSI reading in internals" eingeschaltet hast. Erst ab dann werden RSSI Werte in den internals abgespeichert.
Notify zu den Dummies müssen nicht in allen "Buttons" sein. Ich frage in einigen Fällen im Code schlicht den Wert ab. Also ein "refresh" ist dann erforderlich.
Viele Grüße!
Andreas
Guter Tip: mit der Include-Datei funktioniert es jetzt; hatte wohl doch einen Fehler gemacht.
Danke an dieser Stelle für das tolle Tool!
Gruß
Blueberry
P.S.: Das Leerzeichen im Code hinter "HMUARTLGW " muss aber noch wohl noch weg ;-)
Zitat von: blueberry63 am 17 Januar 2017, 14:01:41
Guter Tip: mit der Include-Datei funktioniert es jetzt; hatte wohl doch einen Fehler gemacht.
Danke an dieser Stelle für das tolle Tool!
Gruß
Blueberry
P.S.: Das Leerzeichen im Code hinter "HMUARTLGW " muss aber noch wohl noch weg ;-)
Hallo Blueberry,
sieht es bei dir auch so wie in meinen Bild aus?
Du hast ja anscheinend auch ein HMUARTLGW?
MFG Sig10680
Nein, bei mir sieht jetzt alles normal aus, also nur eine Spalte für das HMUARTLGW. Am besten kopierst Du nochmal den Code und entfernst das Leerzeichen an den beiden Stellen hinter HMUARTLGW
Gruß
Blueberry63
Zitat von: blueberry63 am 17 Januar 2017, 16:01:51
Nein, bei mir sieht jetzt alles normal aus, also nur eine Spalte für das HMUARTLGW. Am besten kopierst Du nochmal den Code und entfernst das Leerzeichen an den beiden Stellen hinter HMUARTLGW
Gruß
Blueberry63
Danke,
ich habe den HMUARTLGW als zusätzliches Device in einen versteckten Raum gefunden.
Dieser war deaktiviert! Habe ihn gelöscht und nun sieht alles sehr gut aus!
mfg Sig10680
Kann man die RSSI-Werte, welche man mittels Signalduino (https://forum.fhem.de/index.php/topic,38831.msg389126.html#msg389126) empfängt auch anzeigen lassen? :)
hi @all,
hier habe ich wohl Verständnisprobleme :-[
Ich nutze an einem Intel Nuc einen CUL-Stick ( CUL_HM ) , einen Max-Cube zu CUL geflasht im rfmode HomeMatic ( CUL_HM_Cube ), einen Max-Cube zu CUL geflasht im rfmode MAX ( CULMAX_1 )
list CUL_HM
Internals:
CFGFN /opt/fhem/FHEM/02_Cul.cfg
CMDS BbCFiAZEGMKUYRTVWXefmltux
Clients :CUL_HM:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:
DEF /dev/ttyACM0@9600 4434
DeviceName /dev/ttyACM0@9600
FD 14
FHTID 4434
NAME CUL_HM
NR 76
PARTIAL
STATE Initialized
TYPE CUL
VERSION V 1.61 CUL868
initString X21
Ar
owner_CCU VCCU
Matchlist:
1:CUL_HM ^A....................
8:HMS ^810e04....(1|5|9).a001
D:CUL_IR ^I............
H:STACKABLE_CC ^\*
M:TSSTACKED ^\*
Readings:
2017-01-18 09:38:01 cmds B b C F i A Z E G M K U Y R T V W X e f m l t u x
2016-10-04 09:45:38 credit10ms 900
2016-04-27 17:44:37 fhtbuf AE
2017-01-17 23:10:04 raw is0F00FFFF0FF0
2017-01-18 09:38:01 state Initialized
Attributes:
addvaltrigger 1
hmId 1AA777
icon cul_cul
model CUL
rfmode HomeMatic
room CUL_HM
list CUL_HM_Cube
Internals:
CFGFN /opt/fhem/FHEM/02_CulMaxCube.cfg
CMDS BbCFiAZNEkGMKLUYRTVWXefltxz
CUL_HM_Cube_MSGCNT 1
CUL_HM_Cube_TIME 2017-01-18 09:38:36
Clients :CUL_HM:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:
DEF 192.168.178.56:2323 1234
DeviceName 192.168.178.56:2323
FD 15
FHTID 1234
NAME CUL_HM_Cube
NR 98
PARTIAL
RAWMSG A0FF3861022E2610000000AA8DF0D0658F1
RSSI -81.5
STATE Initialized
TYPE CUL
VERSION V 1.21.00 a-culfw Build: 70 (2016-04-22_17-15-27) CUBe (F-Band: 868MHz)
initString X21
Ar
owner_CCU VCCU
Matchlist:
1:CUL_HM ^A....................
8:HMS ^810e04....(1|5|9).a001
D:CUL_IR ^I............
H:STACKABLE_CC ^\*
M:TSSTACKED ^\*
Readings:
2017-01-18 09:38:02 cmds B b C F i A Z N E k G M K L U Y R T V W X e f l t x z
2017-01-18 09:38:36 state Initialized
Attributes:
hmId 1AA777
icon cul_cul
model CUL
rfmode HomeMatic
room CUL_HM
list CULMAX_1
Internals:
CFGFN /opt/fhem/FHEM/02_MaxCube.cfg
CUNO_1_MSGCNT 25
CUNO_1_RAWMSG Z0E35020207D2AC0883C0000118152C
CUNO_1_RSSI -65
CUNO_1_TIME 2017-01-18 09:54:40
DEF 123456
IODev CUNO_1
LASTInputDev CUNO_1
MSGCNT 25
NAME CULMAX_1
NR 121
STATE Defined
TYPE CUL_MAX
addr 123456
cnt 0
pairmode 0
retryCount 0
Readings:
2017-01-18 09:32:32 CUNO_1_RSSI_old -37.5
2017-01-18 09:26:27 RSSI_disable 0
2017-01-01 06:32:11 packetsLost 122
sendQueue:
Attributes:
IODev CUNO_1
group Cul_Max
room CUL_HM
Dazu wird wohl auch ein CUNO_1 angelegt ( ist das normal ? )
list CUNO_1
Internals:
CFGFN /opt/fhem/FHEM/02_MaxCube.cfg
CMDS BbCFiAZNEkGMKLUYRTVWXefltxz
CUNO_1_MSGCNT 25
CUNO_1_TIME 2017-01-18 09:54:40
Clients :CUL_MAX:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:
DEF 192.168.178.106:2323 0000
DeviceName 192.168.178.106:2323
FD 16
FHTID 0000
NAME CUNO_1
NR 120
NR_CMD_LAST_H 3
PARTIAL
RAWMSG Z0E35020207D2AC0883C0000118152C12
RSSI -65
STATE Initialized
TYPE CUL
VERSION V 1.20.06 a-culfw Build: 199 (2016-02-21_13-36-20) CUBe (F-Band: 868MHz)
initString X21
Zr
Za123456
Zw111111
Matchlist:
1:CUL_MAX ^Z........................
8:HMS ^810e04....(1|5|9).a001
D:CUL_IR ^I............
H:STACKABLE_CC ^\*
M:TSSTACKED ^\*
Readings:
2017-01-18 09:38:02 cmds B b C F i A Z N E k G M K L U Y R T V W X e f l t x z
2017-01-18 09:38:32 credit10ms 900
2017-01-18 09:54:40 state Initialized
2016-03-03 20:10:44 uptime 2 09:20:45
2016-06-18 04:01:01 version V 1.20.06 a-culfw Build: 199 (2016-02-21_13-36-20) CUBe (F-Band: 868MHz)
XMIT_TIME:
1484728682.35241
1484728682.65296
1484728712.96819
Attributes:
addvaltrigger 1
group Cul_Max
rfmode MAX
room CUL_HM
Nun habe ich die rssi.cfg nach Anleitung eingebaut - allerdings weiß ich nicht ob ich es richtig verstanden habe :
1.) Bei allen CULs/CUN./HMLAN etc. attr CUL addvaltrigger=1 ... setzen (Hinweis: Das kann auch durch die Funktion (siehe code) erreicht werden.
Wenn ich es richtig verstanden habe ,so muss ich nur addvaltrigger=1 setzen - dies habe ich getan ! Allerdings für den CULMAX_1 gibt es dieses attr wohl nicht , aber beim CUNO_1 -dort habe ich das attr gesetzt !
Leider sieht es bei mir wie folgt aus und es wird weiter nichts angezeigt :-(
Unter Device taucht nur der CULMAX_1 auf vom CUL_HM und CUL_HM_Cube ist nichts zu sehen ....muss hier in der cfg etwas angepasst / umbenannt werden ?
Das alles habe ich in eine VCCU zusammengefasst -leider auch nicht sicher ob ich das richtig umgesetzt habe *schäm
list VCCU :
Internals:
CFGFN /opt/fhem/FHEM/02_VCCU.cfg
DEF 1AA777
IODev CUL_HM
NAME VCCU
NOTIFYDEV global
NR 132
STATE CUL_HM:ok,CUL_HM_Cube:ok,
TYPE CUL_HM
assignedIOs CUL_HM,CUL_HM_Cube
Helper:
HM_CMDNR 1
mId FFF0
rxType 1
Ack:
Expert:
def 1
det 0
raw 0
tpl 0
Io:
vccu vccu
ioList:
CUL_HM
CUL_HM_Cube
Mrssi:
mNo
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
vrt 1
Tmpl:
Attributes:
IODev CUL_HM
IOList CUL_HM,CUL_HM_Cube
IOgrp vccu
group CUL
model CCU-FHEM
room CUL_HM
subType virtual
webCmd virtual:update
Zitat von: Hauswart am 17 Januar 2017, 17:23:40
Kann man die RSSI-Werte, welche man mittels Signalduino (https://forum.fhem.de/index.php/topic,38831.msg389126.html#msg389126) empfängt auch anzeigen lassen? :)
Ich selbst benutzer kein Signalduion. Gibt der Signalduino die RSSI Werte denn überhaupt an FHEM weiter ? Wenn ja, wie lautet die COnfig in FHEM für einen Signalduino (hier brauche ich die Internals, um den Signalduino zu identifizieren). Schreibt der Signalduino denn auch RSSI Werte in die Internals der devices, die er empfangen hat ? Wenn ja, kann ich das gerne mit einbauen.
Viele Grüße!
Andreas
Hallo,
Zitat von: Aladin222 am 18 Januar 2017, 10:04:55
hi @all,
hier habe ich wohl Verständnisprobleme :-[
Ich nutze an einem Intel Nuc einen CUL-Stick ( CUL_HM ) , einen Max-Cube zu CUL geflasht im rfmode HomeMatic ( CUL_HM_Cube ), einen Max-Cube zu CUL geflasht im rfmode MAX ( CULMAX_1 )
list CUL_HM
Internals:
CFGFN /opt/fhem/FHEM/02_Cul.cfg
CMDS BbCFiAZEGMKUYRTVWXefmltux
Clients :CUL_HM:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:
DEF /dev/ttyACM0@9600 4434
DeviceName /dev/ttyACM0@9600
FD 14
FHTID 4434
NAME CUL_HM
NR 76
PARTIAL
STATE Initialized
TYPE CUL
VERSION V 1.61 CUL868
initString X21
Ar
owner_CCU VCCU
Matchlist:
1:CUL_HM ^A....................
8:HMS ^810e04....(1|5|9).a001
D:CUL_IR ^I............
H:STACKABLE_CC ^\*
M:TSSTACKED ^\*
Readings:
2017-01-18 09:38:01 cmds B b C F i A Z E G M K U Y R T V W X e f m l t u x
2016-10-04 09:45:38 credit10ms 900
2016-04-27 17:44:37 fhtbuf AE
2017-01-17 23:10:04 raw is0F00FFFF0FF0
2017-01-18 09:38:01 state Initialized
Attributes:
addvaltrigger 1
hmId 1AA777
icon cul_cul
model CUL
rfmode HomeMatic
room CUL_HM
list CUL_HM_Cube
...
<snip>
Nun habe ich die rssi.cfg nach Anleitung eingebaut - allerdings weiß ich nicht ob ich es richtig verstanden habe :
1.) Bei allen CULs/CUN./HMLAN etc. attr CUL addvaltrigger=1 ... setzen (Hinweis: Das kann auch durch die Funktion (siehe code) erreicht werden.
Wenn ich es richtig verstanden habe ,so muss ich nur addvaltrigger=1 setzen - dies habe ich getan ! Allerdings für den CULMAX_1 gibt es dieses attr wohl nicht , aber beim CUNO_1 -dort habe ich das attr gesetzt !
Leider sieht es bei mir wie folgt aus und es wird weiter nichts angezeigt :-(
Unter Device taucht nur der CULMAX_1 auf vom CUL_HM und CUL_HM_Cube ist nichts zu sehen ....muss hier in der cfg etwas angepasst / umbenannt werden ?
Das alles habe ich in eine VCCU zusammengefasst -leider auch nicht sicher ob ich das richtig umgesetzt habe *schäm
...
<snip>
Auch ich nutzen ein MAX Cube zum (rfmode) CUL umgeflashten und habe auch zwei HMLAN-Adapter mit VCCU. Alle diese werden in der RSSI Tabelle dargestellt. Wobei die VCCU selbst nicht dargestellt werden muss, sondern die z.B. einzelnen HMLAN-Adapter.
Hast Du auch auf "refresh" geklickt ?
Die einzelnen IODev (cul,hmlan,max etc. etc.) werden im Code hier definiert.
my @culs=devspec2array("TYPE=HMLAN");
push(@culs, devspec2array("TYPE=CUL"));
push(@culs, devspec2array("TYPE=CUL_RFR"));
push(@culs, devspec2array("TYPE=HMCCUDEV"));
push(@culs, devspec2array("TYPE=CUL_MAX"));
push(@culs, devspec2array("TYPE=HMUARTLGW"));
Frage: Kannst Du mir einmal bitte die internals eines Devices schicken, die dein MAX Cul, bzw. deinen anderen CUL's ampfangen haben. Wie lauten hier die internals ? Normalerweise lauten diese internals: "[Name_des_CULs]_RSSI".
Advaltrigger=1 musst du nicht einzeln setzen, hier genügt es den Button: "Enable RSSI reading in internals" an zu klicken (zu enablen).
Viele Grüße!
Andreas
Bei mir ging es beim ersten "refresh" nur dann, wenn ich die beiden unteren Auswahlmöglichkeiten (die mit den DIFFS) jeweils disabled hatte - danach flutschte alles wunderbar.
Vielleicht hilft es?
Zitat von: sledge am 20 Januar 2017, 14:22:17
Bei mir ging es beim ersten "refresh" nur dann, wenn ich die beiden unteren Auswahlmöglichkeiten (die mit den DIFFS) jeweils disabled hatte - danach flutschte alles wunderbar.
Vielleicht hilft es?
Wenn der Code das erste mal neu in FHEM eingefügt wird, haben die "dummy Variablen" (also die Buttons) ja keinen Wert und dort steht "? ? ?" im state. Wenn man alle "buttons" einmal angeklickt hat, stehen auch richtige Werte im state und damit im fhem.save. Nicht auszuschliessen, das es so eine Korrelation ist/war.
Viele Grüße!
Andreas
Hallo Andreas,
ich wollte einfach mal vielen Dank sagen für den tollen Codeschnipsel! :-)
Nachdem ich den Code eingepflegt, alle "Checkboxen" mal deaktiviert habe und wieder aktiviert habe bekomme ich nun die gewünschte Anzeige. :-)
Ich bin dir wirklich dankbar, diese Ansicht habe ich schon lange gesucht, aber für Eigenregie reicht mein Wissen in FHEM (noch) nicht.
Tausend Dank & viele Grüße,
Mike
Zitat von: sig10680 am 17 Januar 2017, 16:22:46
Danke,
ich habe den HMUARTLGW als zusätzliches Device in einen versteckten Raum gefunden.
Dieser war deaktiviert! Habe ihn gelöscht und nun sieht alles sehr gut aus!
mfg Sig10680
das ist aber keine gute idee.
das keepalive-device kann man ja auch für diese anwendung rausfiltern. dafür müsstest du mal ein list für das keepalive-device posten.
Zitat von: frank am 31 Januar 2017, 12:26:00
das ist aber keine gute idee.
das keepalive-device kann man ja auch für diese anwendung rausfiltern. dafür müsstest du mal ein list für das keepalive-device posten.
Hallo,
ich wusste nicht das man das herausfiltern kann.
Wäre aber schön wenn du mir einen Tip geben kannst! Hier mein list vom Device.
mfg Sig10680
Internals:
DevType LGW-KeepAlive
DeviceName 192.168.150.197:2001
NAME HMLGW:keepAlive
NEXT_OPEN 1485778734
NR 77538
PARTIAL
STATE disconnected
TEMPORARY 1
TYPE HMUARTLGW
Readings:
2017-01-30 13:17:54 state disconnected
Lgwhash:
AssignedPeerCnt 34
CNT 120
DEF 192.168.150.197
DEVCNT 175
DevState 99
DevType LGW
DeviceName 192.168.150.197:2000
FD 78
LastOpen 1485778671.89981
NAME HMLGW
NR 593
PARTIAL
RAWMSG 0500003094847045907300000000F01F
RSSI -48
STATE opened
TYPE HMUARTLGW
XmitOpen 1
msgLoadCurrent 1
msgLoadHistory 0/-1/0/0/0/0/1/0/0/0/0/0
msgLoadHistoryAbs 2/2/3/3/3/3/3/2/2/2/2/2/2
owner 0A0650
owner_CCU VCCU
Readings:
2017-01-30 13:17:56 D-HMIdAssigned XXXXXX
2017-01-30 13:17:56 D-HMIdOriginal FFFFFF
2017-01-30 13:17:51 D-LANfirmware 1.1.5
2017-01-30 13:17:56 D-firmware 1.4.1
2017-01-30 13:17:51 D-serialNr
2017-01-30 13:17:51 D-type eQ3-HM-LGW
2017-01-30 13:17:57 cond ok
2017-01-31 17:18:39 load 1
2017-01-30 13:17:57 loadLvl low
2017-01-30 13:17:51 state opened
Helper:
Keepalive:
Attributes:
room hidden
verbose
Hallo,
das HMLANGW habe ich im Code vor ca. 2 Wochen hinzugefügt. Zwischenzeitlich war aber noch ein kleiner Fehler drin (es stand noch ein Space am "HMUARTLGW ", der ist jetzt weg. Schaue mal bitte nach ob Du in Deiner Version:
push(@culs, devspec2array("TYPE=HMUARTLGW"));;\
... in (ca. Zeile 88 und 155) stehen hast, oder noch den falschen Eintrag mit dem Space.
Viele Grüße!
Andreas
Zitat von: sig10680 am 31 Januar 2017, 17:23:51
Hallo,
ich wusste nicht das man das herausfiltern kann.
Wäre aber schön wenn du mir einen Tip geben kannst! Hier mein list vom Device.
mfg Sig10680
Internals:
DevType LGW-KeepAlive
DeviceName 192.168.150.197:2001
NAME HMLGW:keepAlive
NEXT_OPEN 1485778734
NR 77538
PARTIAL
STATE disconnected
TEMPORARY 1
TYPE HMUARTLGW
Readings:
2017-01-30 13:17:54 state disconnected
Lgwhash:
AssignedPeerCnt 34
CNT 120
DEF 192.168.150.197
DEVCNT 175
DevState 99
DevType LGW
DeviceName 192.168.150.197:2000
FD 78
LastOpen 1485778671.89981
NAME HMLGW
NR 593
PARTIAL
RAWMSG 0500003094847045907300000000F01F
RSSI -48
STATE opened
TYPE HMUARTLGW
XmitOpen 1
msgLoadCurrent 1
msgLoadHistory 0/-1/0/0/0/0/1/0/0/0/0/0
msgLoadHistoryAbs 2/2/3/3/3/3/3/2/2/2/2/2/2
owner 0A0650
owner_CCU VCCU
Readings:
2017-01-30 13:17:56 D-HMIdAssigned XXXXXX
2017-01-30 13:17:56 D-HMIdOriginal FFFFFF
2017-01-30 13:17:51 D-LANfirmware 1.1.5
2017-01-30 13:17:56 D-firmware 1.4.1
2017-01-30 13:17:51 D-serialNr
2017-01-30 13:17:51 D-type eQ3-HM-LGW
2017-01-30 13:17:57 cond ok
2017-01-31 17:18:39 load 1
2017-01-30 13:17:57 loadLvl low
2017-01-30 13:17:51 state opened
Helper:
Keepalive:
Attributes:
room hidden
verbose
Zitat von: fhem-challenge am 01 Februar 2017, 09:36:13
Hallo,
das HMLANGW habe ich im Code vor ca. 2 Wochen hinzugefügt. Zwischenzeitlich war aber noch ein kleiner Fehler drin (es stand noch ein Space am "HMUARTLGW ", der ist jetzt weg. Schaue mal bitte nach ob Du in Deiner Version:
push(@culs, devspec2array("TYPE=HMUARTLGW"));;\
... in (ca. Zeile 88 und 155) stehen hast, oder noch den falschen Eintrag mit dem Space.
Viele Grüße!
Andreas
Hallo,
das mit dem leerzeichen hatte ich schon selber gesehen. Das ist es aber nicht das Problem. Trotzdem Danke für deine Mühe!
mfg Sig10680
hi,
probiere mal folgende änderung:
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\
Zitat von: frank am 01 Februar 2017, 13:29:42
hi,
probiere mal folgende änderung:
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\
Wenn's dann bei "sig10680" damit klappt, nehme ich es in den Code im ersten Post.
Viele Grüße!
Andreas
Zitat von: frank am 01 Februar 2017, 13:29:42
hi,
probiere mal folgende änderung:
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\
Hallo Frank,
Danke genau das war es, man hätte eigentlich auch von selber darauf kommen können!
Danke dir nochmals....
mfg sig10680
na dann, viel spass. :)
So eines habe ich noch und zwar wenn ich mein fhem Webif über https anspreche werden manche Icons nicht geladen!
Siehe Bild!
mfg Sig10680
Zitat von: sig10680 am 01 Februar 2017, 14:14:33
So eines habe ich noch und zwar wenn ich mein fhem Webif über https anspreche werden manche Icons nicht geladen!
Siehe Bild!
mfg Sig10680
Hast Du die Fonts ?:
find /opt/fhem -name "ios-on*"
/opt/fhem/www/images/default/ios-on-blue.png
/opt/fhem/www/images/default/ios-on-for-timer-blue.png
/opt/fhem/www/images/default/ios-on-green.png
/opt/fhem/www/images/default/ios-on-for-timer-green.png
Wenn Du SSL nutzt, hast Du auch die Zeile ...
my $HTTP="http";;
auf
my $HTTP="https";;
geändert ? Wenngleich das aber auch nur die "links" zu den Devices betrifft.
Nachtrag: ich ändere noch einmal den Code:
if ($dev_disable eq 1)
{
$disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-off.png";
$disabled_set = "0";
$col="grey";
if ($ButBestCol eq 1)
{
$bestVal="<td></td>";
}
}
else
{
$disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";
ich verwende hier (noch) nicht die Varibale $HTTP... weshalb er die Icons via http:// laden möchte.
Viele Grüße!
Andreas
Zitat von: fhem-challenge am 01 Februar 2017, 14:25:37
Hast Du die Fonts ?:
find /opt/fhem -name "ios-on*"
/opt/fhem/www/images/default/ios-on-blue.png
/opt/fhem/www/images/default/ios-on-for-timer-blue.png
/opt/fhem/www/images/default/ios-on-green.png
/opt/fhem/www/images/default/ios-on-for-timer-green.png
Wenn Du SSL nutzt, hast Du auch die Zeile ...
my $HTTP="http";;
auf
my $HTTP="https";;
geändert ? Wenngleich das aber auch nur die "links" zu den Devices betrifft.
Viele Grüße!
Andreas
Hallo,
ja habe extra auf den Server geschaut die Icons sind da!
auf HTTPS habe ich es auch gestellt.
Das 2. Bild was ich angehängt habe, da sieht man das er auf http zugreift und kein Port dahinter hat?
mfg
Zitat von: sig10680 am 01 Februar 2017, 14:28:48
Hallo,
ja habe extra auf den Server geschaut die Icons sind da!
auf HTTPS habe ich es auch gestellt.
Das 2. Bild was ich angehängt habe, da sieht man das er auf http zugreift und kein Port dahinter hat?
mfg
Siehe mein Post oben:
Hier war noch ein Bug, ist jetzt gefixt. Wenn Du nicht den gesamten Code erneut bei Dir einfügen willst, ändere einfach die beiden "roten" Zeilen siehe "Code Ausschnitt" ab. Hier muss "$HTTP." vorangestellt werden.
Also aus:$disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-off.png";
wird
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-off.png";
und aus
$disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";
wird
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";
Code Ausschnitt: if ($dev_disable eq 1)
{
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-off.png";
$disabled_set = "0";
$col="grey";
if ($ButBestCol eq 1)
{
$bestVal="<td></td>";
}
}
else
{
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";
$disabled_set = "1";
}
dann funktioniert es.
Viele Grüße!
Andreas
ich hätte da noch einen Vorschlag. Wenn Du schon individuelle Einstellungen erlaubst, dann erlaube doch bitte auch das Einstellen des Farbschemas. Hellgrün z.B. auf schwarzem Hintergrund mag ja o.k. zu sein, nur wenn dann der Hintergrund (wie bei mir) nicht schrarz ist, dann kann man die Schrift nicht wirklich erkennen.
Gruß!
Hallo,
ich war einige Tage "off" und habe mir eben den existierenden (und funktionierenden) Code in meiner "RSSI_incl.cfg" mit dem Code aus dem 1. Post überschrieben. Und jetzt kommt folgendes im LOG, wenn ich "Refresh" drücke:
Zitat
2017.02.01 16:28:37 3: rssi_read_from_device return value: Unknown command {, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command my, try help.
Unknown command #, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command my, try help.
...
Auf die Schnelle komme ich nicht auf den Fehler?
Gruß
Blueberry63
Zitat von: fhem-challenge am 01 Februar 2017, 14:37:53
Siehe mein Post oben:
Hier war noch ein Bug, ist jetzt gefixt. Wenn Du nicht den gesamten Code erneut bei Dir einfügen willst, ändere einfach die beiden "roten" Zeilen siehe "Code Ausschnitt" ab. Hier muss "$HTTP." vorangestellt werden.
Also aus:
$disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-off.png";
wird
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-off.png";
und aus
$disabled = "http://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";
wird
$disabled = $HTTP."://$FW_httpheader{Host}/fhem/images/default/ios-on-green.png";
Danke dir für die schnelle Antwort, jetzt ist es super Danke!
mfg Sig10680
Zitat von: blueberry63 am 01 Februar 2017, 16:35:37
Hallo,
ich war einige Tage "off" und habe mir eben den existierenden (und funktionierenden) Code in meiner "RSSI_incl.cfg" mit dem Code aus dem 1. Post überschrieben. Und jetzt kommt folgendes im LOG, wenn ich "Refresh" drücke:
Auf die Schnelle komme ich nicht auf den Fehler?
Gruß
Blueberry63
In erster Näherung vermute ich eher ein Copy-Paste Fehler.
Kopiere den gesamten Code mit einem "externen" Editor (nicht in FHEM) in Deine RSSI_incl.cfg. Im Code sind je bereits alle "\" sowie ";;" enthalten.
Ich verifiziere das mal ...
Viele Grüße!
Andreas
Ich habe eben nochmal den Code vom 1. Post in die Include-Datei kopiert: gleiches Ergebnis
Fehlt vielleicht irgendow eine Klammer?
Gruß
Blueberry63
Zitat von: blueberry63 am 02 Februar 2017, 09:06:44
Ich habe eben nochmal den Code vom 1. Post in die Include-Datei kopiert: gleiches Ergebnis
Fehlt vielleicht irgendow eine Klammer?
Gruß
Blueberry63
Ja, ich hatte ein ähnliches Ergebnis. War nicht Dein Fehler. Ich habe den Code noch einmal im ersten Post neu eingefügt.
Probier's bitte noch einmal.
Zitat von: DerFrickler am 01 Februar 2017, 16:12:14
ich hätte da noch einen Vorschlag. Wenn Du schon individuelle Einstellungen erlaubst, dann erlaube doch bitte auch das Einstellen des Farbschemas. Hellgrün z.B. auf schwarzem Hintergrund mag ja o.k. zu sein, nur wenn dann der Hintergrund (wie bei mir) nicht schrarz ist, dann kann man die Schrift nicht wirklich erkennen.
Gruß!
Ich habe "Use dark colorscheme (instead of bright)" eingefügt, der die ColorScheme ändert. Natürlich wäre jetzt hier CSS besser, aber das will ich im Code nicht auch noch einbauen.
Du kannst die Farben nach Wunsch anpassen im Code an folgender Stelle (bei $ButtonColorSchemeDark eq 1 sind es die "dunkleren Farben" für den helleren Background:
if ($ButtonColorSchemeDark eq 1)
{
$fntColor1="darkblue";
$fntColor2="darkblue";
$colGood="darkgreen";
$colMid="darkyellow";
$colBad="#ff8533";
$colWorse="red";
$bgColor1="#00A700";
}
else
{
$fntColor1="lightblue";
$fntColor2="white";
$colGood="lightgreen";
$colMid="yellow";
$colBad="#ff8533";
$colWorse="red";
}
Zitat von: sig10680 am 01 Februar 2017, 19:58:32
Danke dir für die schnelle Antwort, jetzt ist es super Danke!
mfg Sig10680
Hallo,
gestern hat alles funktioniert und heute zeigt er wieder über https keine Icons mehr an! (auch an verschiedenen PC`s und Browsern)
Habe auch die include Datei nochmals neu eingespielt. Auch über einen Externen Editor.
Aber oben bei den Einstellungen schon?
mfg Sig10680
Zitat von: sig10680 am 02 Februar 2017, 10:50:42
Hallo,
gestern hat alles funktioniert und heute zeigt er wieder über https keine Icons mehr an! (auch an verschiedenen PC`s und Browsern)
Habe auch die include Datei nochmals neu eingespielt. Auch über einen Externen Editor.
Aber oben bei den Einstellungen schon?
mfg Sig10680
Bei mir gehts:
Bei jedem erneuten Import des Code, musst Du (in Deinem Fall)
my $HTTP="https";
setzen.
Ich habe gerade eine neuere Version im Post 1 eingefügt, welche (nebenbei, ganz anderer featureRequest) ColorScheme ändert (neuer Button). Probiers mal damit.
Zitat von: fhem-challenge am 02 Februar 2017, 10:57:40
Bei mir gehts:
Bei jedem erneuten Import des Code, musst Du (in Deinem Fall)
my $HTTP="https";
setzen.
ich habe gerade eine neuere Version im Post 1 eingefügt, der (nebenbei) ColorScheme ändert (neuer Button). Probiers mal damit.
Hallo,
ja das ist mir bewusst. Ich denke er fragt bei dem Icon nicht nach dem Port (siehe Bild), ist aber nur so eine Vermutung!
Ich lebe einfach damit.
Danke
Sig10680
Zitat von: sig10680 am 02 Februar 2017, 11:12:20
Hallo,
ja das ist mir bewusst. Ich denke er fragt bei dem Icon nicht nach dem Port (siehe Bild), ist aber nur so eine Vermutung!
Ich lebe einfach damit.
Danke
Sig10680
Ist ominös. Ich nutze ja
$FW_httpheader{Host}
... der den aktuell verwendeten TCP Port einschliesst.
Frage: Klicke mal auf einen Deiner IODev's in der ersten Zeile der Tabelle (irgend ein CUL ... )...oder klick alternativ auf irgend eines Deiner Devices "links": funktioniert dieser Link ? Der wird in exakt der gleichen Weise aufgebaut mit "$FW_httpheader{Host}".
Hast du auch wirklich die neueste Version aus Post 1 (die mit dem Button ColorScheme ?)
Zitat von: fhem-challenge am 02 Februar 2017, 11:39:32
Ist ominös. Ich nutze ja
$FW_httpheader{Host}
... der den aktuell verwendeten TCP Port einschliesst.
Frage: Klicke mal auf einen Deiner IODev's in der ersten Zeile der Tabelle (irgend ein CUL ... )...oder klick alternativ auf irgend eines Deiner Devices "links": funktioniert dieser Link ? Der wird in exakt der gleichen Weise aufgebaut mit "$FW_httpheader{Host}".
Hast du auch wirklich die neueste Version aus Post 1 (die mit dem Button ColorScheme ?)
So habe jetzt mal auf mehrere IODev geklickt, die links gehen ins nirgendwo. Ich kopiere aber trotzdem nochmal alles neu aus dem ersten Post!
Sig10680
Zitat von: sig10680 am 02 Februar 2017, 11:47:28
So habe jetzt mal auf mehrere IODev geklickt, die links gehen ins nirgendwo. Ich kopiere aber trotzdem nochmal alles neu aus dem ersten Post!
Sig10680
Es funktioniert mit dem Code (siehe Bild).
Lösche sonst auch mal dein BrowserCache.
Zitat von: fhem-challenge am 02 Februar 2017, 11:48:48
Es funktioniert mit dem Code (siehe Bild).
Lösche sonst auch mal dein BrowserCache.
Ja Cache habe ich schon gelöscht, hat auch nichts gebracht. funktioniert bei mir auch mit http aber nicht mit https!
Naja egal, die werte sind entscheidend
Danke trotzdem Sig10680
Jetzt funktioniert es bei mir wieder :-)
Danke!
Blueberry63
lustig ist auch das im Hover von jedem device der gesammte html code der div tags angezeigt wird, bzw, der gesammte tabellenaufbau.
Hallo zusammen.
Ich habe ein paar esp8266 an laufen mit espeasy.
Dort lasse ich auch von jedem esp die rssi Werte mit übermitteln.
Die Werte werden als reading übermittelt.
Besteht die Möglichkeit, diese rssi Werte der esp Chips mit in die Übersicht einfließen zu lassen?
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Zitat von: sash.sc am 02 März 2017, 18:09:59
Hallo zusammen.
Ich habe ein paar esp8266 an laufen mit espeasy.
Dort lasse ich auch von jedem esp die rssi Werte mit übermitteln.
Die Werte werden als reading übermittelt.
Besteht die Möglichkeit, diese rssi Werte der esp Chips mit in die Übersicht einfließen zu lassen?
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Ja, ich brauche dazu aber die device types der ESP8266, also konkret die Internals: TYPE für das ESP8266 Device. Dann kann ich die identifizieren.
Weiterhin wäre es dann einfach, wenn die Variable der RSSI Werte den Namen des Internals: [ESP8266-DeviceName]_RSSI hat.
Beispiel:
Ist Dein Name deines ESP8266 = "ESP"
... dann brauche ich die Internal Variable "TYPE"
und wenn dann dein RSSI Wert in der Variable (oder besser internals) "ESP_RSSI" steht, ist das alles am einfachsten machbar.
Viele Grüße!
Andreas
Ok.
Kurz zur Info.
Die ESP Easy Devices werden über die ESPBridge von dev0 angelegt bzw angebunden.
Ich habe hier mal ein list von einem ESP Easy device
Internals:
DEF 192.168.2.30 80 espBridge strom_RSSI
ESP_BUILD 147
ESP_SLEEP 0
ESP_UNIT 0
HOST 192.168.2.30
IDENT strom_RSSI
INTERVAL 300
IODev espBridge
LASTInputDev espBridge
MSGCNT 466
NAME ESPEasy_strom_RSSI
NOTIFYDEV global
NR 384
NTFY_ORDER 50-ESPEasy_strom_RSSI
PORT 80
STATE RSS: -86.00
SUBTYPE device
TYPE ESPEasy
VERSION 1
espBridge_MSGCNT 466
espBridge_TIME 2017-03-03 16:51:48
Readings:
2017-03-03 16:51:48 RSSI -86.00
2017-03-03 16:54:05 presence present
2017-03-03 16:54:05 state RSS: -86.00
Helper:
fpc 1488310618
Intat:
1:
FN ESPEasy_statusRequest
INTERVAL 304
TRIGGERTIME 03.03.2017 16:59:09
Received:
RSSI 1488556308
Attributes:
IODev espBridge
Interval 300
group ESPEasy Device
readingSwitchText 1
room ESPEasy
setState 3
Man kan auf dem ESP Device den Name wilkürlich wählen, und das RSSI selbst anlegen aus dem Device und ESPEasy.
Danke schonmal im vorraus.
Sascha
P.S.: Das ESp modul heisst "strom" und die Variable RSSI
Moin
Ich muss leider mal eine wirklich dumme Frage stellen. Wohin kommt denn der Code? Ich habe eine 99_RSSI.pm angelegt, und den Code da reinkopiert, aber das ging nicht! Sind das mehrere Schritte? Muss ich die dummies etc. anlegen und nur den echten Code in eine pm packen?
Danke und Gruss
Christoph
Nix pm. An in den Editor und alles einfügen. Sprich die config von fhem manuell bearbeiten
Gesendet von meinem SM-T560 mit Tapatalk
Zitat von: sash.sc am 05 März 2017, 11:36:17
Nix pm. An in den Editor und alles einfügen. Sprich die config von fhem manuell bearbeiten
Gesendet von meinem SM-T560 mit Tapatalk
Definitiv ist das die schlechteste Lösung. Die Config manuell zu bearbeiten, sollte man am besten nie tun. Das bringt nur unnötig Fehler.
Über eine RAW Definition wäre es machbar, aber ich denke ne eigene pm ist schon die beste Wahl!
Ah ok
Naja, da habe ich dann mit Zitronen gehandelt, da ich keine CFG mehr habe!
Danke und Gruss Christoph
Zitat von: pc1246 am 05 März 2017, 11:30:44
Moin
Ich muss leider mal eine wirklich dumme Frage stellen. Wohin kommt denn der Code? Ich habe eine 99_RSSI.pm angelegt, und den Code da reinkopiert, aber das ging nicht! Sind das mehrere Schritte? Muss ich die dummies etc. anlegen und nur den echten Code in eine pm packen?
Danke und Gruss
Christoph
Hallo,
am besten so verfahren , wie ich es in:
https://forum.fhem.de/index.php/topic,62184.msg563146.html#msg563146
... beschrieben hatte.
Einfach ein "include" einer *.cfg, die man mit dem Code aus Posting 1 erstellt hatte.
Sicherlich wäre auch einen Variante mit der 99...pm denkbar, aber die müsste ich dann erst einmal anpassen.
Viele Grüße!
Andreas
Hi,
just for completeness: Habe bei mir noch
push(@culs, devspec2array("TYPE=TSCUL"));
eingefügt - somit werden auch die Devices mit der TS-Firmware für Homematic einwandfrei erkannt.
Die Sache mit dem eigenen *.pm ist ggfs einen zweiten Gedanken wert. Bei mir ist auch .cfg-freie Zone - alles in der DB. Habe halt ein "leeres" notfiy angelegt und dann alles via DEFMOD eingefügt... Klappt einwandfrei.
Gruß,
Tom
Hallo zusammen,
ich habe eben versucht den code zu verwenden.
Damit sehe ich nun auch meinen CUL_MAX aber nicht die einzelnen Max -device...
-> ich habe kein
Zitataddvaltrigger
attribut beim CUL_MAX, dies ist auch nach aktivierung/deaktivierung des
ZitatEnable RSSI reading in internals
aufgetaucht...
Ich denke ich habe alle dazugehörige post gelsen, aber keine Lösung gefunden.
Habt ihr einen Tip wohin ich gucken muss?
danke und Gruß
EDIT_2:
EDIT:
ich habe nun den code in eine seperate datei fhem.rssi.cfg gespeichert und dies eingebunden. dies bringt leider diese Fehlermeldung:ZitatMessages collected while initializing FHEM:
configfile: RSSI_Chart: unknown attribute webCmd. Type 'attr RSSI_Chart ?' for a detailed list.
RSSI_SertUpHighlight: unknown attribute devStateIcon. Type 'attr RSSI_SertUpHighlight ?' for a detailed list.
RSSI_SertUpHighlight: unknown attribute sortby. Type 'attr RSSI_SertUpHighlight ?' for a detailed list.
RSSI_SetUpLastActive: unknown attribute devStateIcon. Type 'attr RSSI_SetUpLastActive ?' for a detailed list.
RSSI_SetUpLastActive: unknown attribute sortby. Type 'attr RSSI_SetUpLastActive ?' for a detailed list.
RSSI_SetUpBestCol: unknown attribute devStateIcon. Type 'attr RSSI_SetUpBestCol ?' for a detailed list.
RSSI_SetUpBestCol: unknown attribute sortby. Type 'attr RSSI_SetUpBestCol ?' for a detailed list.
RSSI_SetUpAverage: unknown attribute devStateIcon. Type 'attr RSSI_SetUpAverage ?' for a detailed list.
RSSI_SetUpAverage: unknown attribute sortby. Type 'attr RSSI_SetUpAverage ?' for a detailed list.
RSSI_SetUpInternals: unknown attribute devStateIcon. Type 'attr RSSI_SetUpInternals ?' for a detailed list.
RSSI_SetUpInternals: unknown attribute sortby. Type 'attr RSSI_SetUpInternals ?' for a detailed list.
RSSI_SetUpAverageSaveOldValues: unknown attribute devStateIcon. Type 'attr RSSI_SetUpAverageSaveOldValues ?' for a detailed list.
RSSI_SetUpAverageSaveOldValues: unknown attribute sortby. Type 'attr RSSI_SetUpAverageSaveOldValues ?' for a detailed list.
RSSI_SetUpShowOldValues: unknown attribute devStateIcon. Type 'attr RSSI_SetUpShowOldValues ?' for a detailed list.
RSSI_SetUpShowOldValues: unknown attribute sortby. Type 'attr RSSI_SetUpShowOldValues ?' for a detailed list.
RSSI_SetUpColorSchemeDark: unknown attribute devStateIcon. Type 'attr RSSI_SetUpColorSchemeDark ?' for a detailed list.
RSSI_SetUpColorSchemeDark: unknown attribute sortby. Type 'attr RSSI_SetUpColorSchemeDark ?' for a detailed list.
RSSI_SetUpClearRSSIValues: unknown attribute devStateIcon. Type 'attr RSSI_SetUpClearRSSIValues ?' for a detailed list.
RSSI_SetUpClearRSSIValues: unknown attribute sortby. Type 'attr RSSI_SetUpClearRSSIValues ?' for a detailed list.
Berechtigung und Besitzter der Datei habe ich bereits angepasst.
wo klemmt es denn hier? (als ich den code noch in der fhem.cfg hatte bekam ich noch das oben beschriebene Verhalten.
nach Neustart geht alles wie oben beschrieben. Ich sehe nur den CUL_MAX...
Gruß
Zitat von: jeti am 05 März 2017, 20:27:41
Hallo zusammen,
ich habe eben versucht den code zu verwenden.
Damit sehe ich nun auch meinen CUL_MAX aber nicht die einzelnen Max -device...
-> ich habe kein attribut beim CUL_MAX, dies ist auch nach aktivierung/deaktivierung des aufgetaucht...
Ich denke ich habe alle dazugehörige post gelsen, aber keine Lösung gefunden.
Habt ihr einen Tip wohin ich gucken muss?
danke und Gruß
EDIT_2:
EDIT:
ich habe nun den code in eine seperate datei fhem.rssi.cfg gespeichert und dies eingebunden. dies bringt leider diese Fehlermeldung:Berechtigung und Besitzter der Datei habe ich bereits angepasst.
wo klemmt es denn hier? (als ich den code noch in der fhem.cfg hatte bekam ich noch das oben beschriebene Verhalten.
nach Neustart geht alles wie oben beschrieben. Ich sehe nur den CUL_MAX...
Gruß
Hast Du nach drücken von: Enable RSSI reading in internals ... in deinem MAX-Cube ein addvaltrigger=1 ? Schicke doch mal bitte ein List von deinem CUL_MAX Device.
Viele Grüße!
Andreas
Zitat von: sash.sc am 03 März 2017, 17:00:30
Ok.
Kurz zur Info.
Die ESP Easy Devices werden über die ESPBridge von dev0 angelegt bzw angebunden.
Ich habe hier mal ein list von einem ESP Easy device
Internals:
DEF 192.168.2.30 80 espBridge strom_RSSI
ESP_BUILD 147
ESP_SLEEP 0
ESP_UNIT 0
HOST 192.168.2.30
IDENT strom_RSSI
INTERVAL 300
IODev espBridge
LASTInputDev espBridge
MSGCNT 466
NAME ESPEasy_strom_RSSI
NOTIFYDEV global
NR 384
NTFY_ORDER 50-ESPEasy_strom_RSSI
PORT 80
STATE RSS: -86.00
SUBTYPE device
TYPE ESPEasy
VERSION 1
espBridge_MSGCNT 466
espBridge_TIME 2017-03-03 16:51:48
Readings:
2017-03-03 16:51:48 RSSI -86.00
2017-03-03 16:54:05 presence present
2017-03-03 16:54:05 state RSS: -86.00
Helper:
fpc 1488310618
Intat:
1:
FN ESPEasy_statusRequest
INTERVAL 304
TRIGGERTIME 03.03.2017 16:59:09
Received:
RSSI 1488556308
Attributes:
IODev espBridge
Interval 300
group ESPEasy Device
readingSwitchText 1
room ESPEasy
setState 3
Man kan auf dem ESP Device den Name wilkürlich wählen, und das RSSI selbst anlegen aus dem Device und ESPEasy.
Danke schonmal im vorraus.
Sascha
P.S.: Das ESp modul heisst "strom" und die Variable RSSI
Hi Sascha,
Ja, ich verwende ja selbst einige ESPEasy's.
Eine Umstellung / Hinzufügen von RSSI Werten der ESPEasy Devices ist nicht trivial, weil die RSSI Werte nicht in den Internals stehen sondern in den Readings und diese sich dann nicht aus "IODEV_RSSI" zusammen setzen, da diese ja als Reading beliebig definierbar sind.
Ich ändere den gesamtCode nicht, da es zu individuell ist und keineswegs für alle lauffähig.
Aber ...
Folgendes wäre für Deine Umgebung am Code zu ändern:(In den Code-Segmenten die ROTEN Zeilen hinzufügen, sowie die blauen Zeilen anpassen)
...
push(@culs, devspec2array("TYPE=CUL"));
push(@culs, devspec2array("TYPE=CUL_RFR"));
push(@culs, devspec2array("TYPE=HMCCUDEV"));
push(@culs, devspec2array("TYPE=CUL_MAX"));
push(@culs, devspec2array("TYPE=HMUARTLGW"));
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));
push(@culs, devspec2array("TYPE=STACKABLE_CC"));
push(@culs, devspec2array("TYPE=ESPEasy:FILTER=NAME=.*rssi.*"));
...
sowie noch:...
my $colGood="lightgreen";
my $colMid="yellow";
my $colBad="#ff8533";
my $colWorse="red";
my $cul_alias="";
my $all_int="";
...
und auch:...
if ($EVENT eq "clear")
{
delete($defs{"$dev"}{"$cul_rssi"})
}
$all_int=InternalVal($dev,$cul_rssi,"");
if (InternalVal("$_","TYPE","") eq "ESPEasy")
{
$all_int=ReadingsVal($dev,"rssi","");
}
...
Damit werden die ESPEasy angezeigt. Voraussetzung ist:
1.) Dein ESPEasyDevice , welches den RSSI Wert anzeigt hat irgendwo im Namen "rssi" stehen (auch als substring natürlich) (das ist ja bei dir der Fall).
2.) Das reading im ESPEasy Device lautet "rssi". Ist das nicht der Fall, musst Du das Reading im Code anpassen Zeile:
$all_int=InternalVal($dev,$cul_rssi,"");Viele Grüße!
Andreas
Vielen Dank.
Werde es bei Zeiten mal ausprobieren.
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Zitat von: fhem-challenge am 06 März 2017, 09:03:53
Hast Du nach drücken von: Enable RSSI reading in internals ... in deinem MAX-Cube ein addvaltrigger=1 ? Schicke doch mal bitte ein List von deinem CUL_MAX Device.
Viele Grüße!
Andreas
am CUL selber schon:
Internals:
CMDS BbCFiAZNEkGMKLUYRTVWXefhltxz
CUL_MAX_MSGCNT 244
CUL_MAX_TIME 2017-03-07 17:20:17
Clients :CUL_MAX:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:
DEF 192.168.1.55:2323 0000
DeviceName 192.168.1.55:2323
FD 20
FHTID 0000
NAME CUL_MAX
NR 235
NR_CMD_LAST_H 2
PARTIAL
RAWMSG Z0F0004600CA6870000000019001400BA38
RSSI -46
STATE State: Initialized; Credits: 359;
TYPE CUL
VERSION V 1.23.04 a-culfw Build: 127 (2016-12-16_23-39-31) CUBe (F-Band: 868MHz)
initString X21
Zr
Za123456
Zw111111
Helper:
Dblog:
Credit10ms:
Dblog:
TIME 1488903532.32174
VALUE 359
Matchlist:
1:CUL_MAX ^Z........................
8:HMS ^810e04....(1|5|9).a001
D:CUL_IR ^I............
H:STACKABLE_CC ^\*
M:TSSTACKED ^\*
Readings:
2017-02-26 16:38:44 ccconf freq:868.300MHz bWidth:101KHz rAmpl:33dB sens:8dB
2017-03-07 17:18:48 cmds B b C F i A Z N E k G M K L U Y R T V W X e f h l t x z
2017-03-07 17:18:52 credit10ms 359
2017-02-26 16:38:36 fhtbuf AE
2017-03-07 17:20:17 state Initialized
2017-02-26 16:38:57 uptime 43 07:21:14
XMIT_TIME:
1488903530.82311
1488903532.33047
Attributes:
addvaltrigger 1
rfmode MAX
room MAX,System
stateFormat State: state; Credits: credit10ms;
am CUL_MAX nicht...:
Internals:
CUL_MAX_MSGCNT 244
CUL_MAX_RAWMSG Z0F0004600CA6870000000019001400BA
CUL_MAX_RSSI -46
CUL_MAX_TIME 2017-03-07 17:20:17
DEF 123456
IODev CUL_MAX
LASTInputDev CUL_MAX
MSGCNT 244
NAME CUL_MAX_0
NR 236
STATE Defined
TYPE CUL_MAX
addr 123456
cnt 0
pairmode 0
retryCount 0
Readings:
2017-03-05 19:53:06 RSSI_disable 0
2017-03-07 13:03:59 packetsLost 384
sendQueue:
Attributes:
IODev CUL_MAX
room MAX,System
woran liegt das?
Gruß
Jan
Zitat von: fhem-challenge am 06 März 2017, 10:23:39
Hi Sascha,
Ja, ich verwende ja selbst einige ESPEasy's.
Eine Umstellung / Hinzufügen von RSSI Werten der ESPEasy Devices ist nicht trivial, weil die RSSI Werte nicht in den Internals stehen sondern in den Readings und diese sich dann nicht aus "IODEV_RSSI" zusammen setzen, da diese ja als Reading beliebig definierbar sind.
Ich ändere den gesamtCode nicht, da es zu individuell ist und keineswegs für alle lauffähig.
Aber ...
Folgendes wäre für Deine Umgebung am Code zu ändern:
(In den Code-Segmenten die ROTEN Zeilen hinzufügen, sowie die blauen Zeilen anpassen)
...
push(@culs, devspec2array("TYPE=CUL"));
push(@culs, devspec2array("TYPE=CUL_RFR"));
push(@culs, devspec2array("TYPE=HMCCUDEV"));
push(@culs, devspec2array("TYPE=CUL_MAX"));
push(@culs, devspec2array("TYPE=HMUARTLGW"));
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));
push(@culs, devspec2array("TYPE=STACKABLE_CC"));
push(@culs, devspec2array("TYPE=ESPEasy:FILTER=NAME=.*rssi.*"));
...
sowie noch:
...
my $colGood="lightgreen";
my $colMid="yellow";
my $colBad="#ff8533";
my $colWorse="red";
my $cul_alias="";
my $all_int="";
...
und auch:
...
if ($EVENT eq "clear")
{
delete($defs{"$dev"}{"$cul_rssi"})
}
$all_int=InternalVal($dev,$cul_rssi,"");
if (InternalVal("$_","TYPE","") eq "ESPEasy")
{
$all_int=ReadingsVal($dev,"rssi","");
}
...
Damit werden die ESPEasy angezeigt. Voraussetzung ist:
1.) Dein ESPEasyDevice , welches den RSSI Wert anzeigt hat irgendwo im Namen "rssi" stehen (auch als substring natürlich) (das ist ja bei dir der Fall).
2.) Das reading im ESPEasy Device lautet "rssi". Ist das nicht der Fall, musst Du das Reading im Code anpassen Zeile: $all_int=InternalVal($dev,$cul_rssi,"");
Viele Grüße!
Andreas
Irgendwo fehlen da noch Klammern, steht im Log.
Hier mein Auszug.
delete($defs{"$dev"}{"$cul_rssi"})\
}\
$all_int=InternalVal($dev,$cul_rssi,"");;\
if (InternalVal("$_","TYPE","") eq "ESPEasy")\
{\
$all_int=ReadingsVal($dev,"rssi","");;\
}\
my $all_int=InternalVal($dev,$cul_rssi,"");;\
if ($calc_diffs eq "1")\
{\
$old_rssi_val=ReadingsVal($dev,$cul_rssi."_old","");;\
if (($old_rssi_val)&&($all_int))\
{\
$org_int=$all_int;;\
$all_int=$all_int-$old_rssi_val\
}\
else\
Und jede Menge davon.
Unknown command my, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command #, try help.
Unknown command my, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
2017.03.07 19:18:20 3: rssi_read_from_device return value: Unknown command {, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command my, try help.
Läuft leider nicht.
Gruß und Danke
Sascha
Zitat von: sash.sc am 07 März 2017, 20:00:59
Irgendwo fehlen da noch Klammern, steht im Log.
Hier mein Auszug.
delete($defs{"$dev"}{"$cul_rssi"})\
}\
$all_int=InternalVal($dev,$cul_rssi,"");;\
if (InternalVal("$_","TYPE","") eq "ESPEasy")\
{\
$all_int=ReadingsVal($dev,"rssi","");;\
}\
my $all_int=InternalVal($dev,$cul_rssi,"");;\
if ($calc_diffs eq "1")\
{\
$old_rssi_val=ReadingsVal($dev,$cul_rssi."_old","");;\
if (($old_rssi_val)&&($all_int))\
{\
$org_int=$all_int;;\
$all_int=$all_int-$old_rssi_val\
}\
else\
Und jede Menge davon.
Unknown command my, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command #, try help.
Unknown command my, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
Unknown command push(@culs,, try help.
2017.03.07 19:18:20 3: rssi_read_from_device return value: Unknown command {, try help.
Unknown command my, try help.
Unknown command my, try help.
Unknown command my, try help.
Läuft leider nicht.
Gruß und Danke
Sascha
Nein, fehlt kein ; im 1.Post. Ich habe gerade einmal mein Code aus dem 1. Post genommen und in mein FHEM importiert.
Es läuft alles.
Ich habe Dir mal die Config "fhem.rssi.cfg" angehängt, welche genauso funktioniert.
Die musst Du nur mit include fhem.rssi.cfg ... in dein FHEM.CFG einfügen.
NACHTRAG: Ich habe spasseshalber mal Deine (attached) rssi.cfg bei mir eingefügt, selbst die funktioniert.
Viele Grüße!
Andreas
Ok!? Und da bei einem frischen fhem und frisch aufgesetzten pi.
Werde mal schauen.
Danke für deine Mühe.
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Edit:
Anscheinend habe ich Probleme den folgende Code einzufügen.
und auch:
...
if ($EVENT eq "clear")
{
delete($defs{"$dev"}{"$cul_rssi"})
}
$all_int=InternalVal($dev,$cul_rssi,"");
if (InternalVal("$_","TYPE","") eq "ESPEasy")
{
$all_int=ReadingsVal($dev,"rssi","");
}
...
Wird ab $all hinter dem my im Orginal eingetragen, oder........
Zitat von: sash.sc am 09 März 2017, 15:12:56
Ok!? Und da bei einem frischen fhem und frisch aufgesetzten pi.
Werde mal schauen.
Danke für deine Mühe.
Gruß Sascha
Gesendet von meinem E6653 mit Tapatalk
Edit:
Anscheinend habe ich Probleme den folgende Code einzufügen.
und auch:
...
if ($EVENT eq "clear")
{
delete($defs{"$dev"}{"$cul_rssi"})
}
$all_int=InternalVal($dev,$cul_rssi,"");
if (InternalVal("$_","TYPE","") eq "ESPEasy")
{
$all_int=ReadingsVal($dev,"rssi","");
}
...
Wird ab $all hinter dem my im Orginal eingetragen, oder........
Das in Deinem "rssi.cfg" Eingetragene ist schon korrekt (deine modifizierte rssi.cfg) lief ja auch bei mir.
VIele Grüße!
Andreas
Hi, zuerst DANKE für deine gute Arbeit. Ich habe es übernommen und mit der Variante dein File über "include" zu laden funktioniert auch sehr gut. Allerdings wollte ich die Konfig dann in das Hauptfile übernehmen... funktioniert auch alles außer das "lange" Notify --> rssi_read_from_device diese kann ich nach bekannter Weise über das Web interface anlegen (gekürzte Definition) dann aber deine Definition nur noch einfügen ABER nicht speichern !
Hast du eine Idee woran das liegen könnte ?
Wenn ich den Teil dann via "include" einbinde, funktioniert alles bestens.
Hallo,
ich wollte deine fhem.rssi.cfg gerade via include einladen. Das funktioniert soweit auch, aber ab Zeile 162 wird nach dem Speichern der Code abgeschnitten. Somit wird das lange Notiy rssi_read_from_device nicht angelegt. Über ein manuell angelegtes Notify krieg ich das auch nicht hin.
Gibt es da irgendeine Grundeinstellung, die zu lange Codes kappt?
Zitat von: Frini am 13 August 2017, 16:31:21
Hallo,
ich wollte deine fhem.rssi.cfg gerade via include einladen. Das funktioniert soweit auch, aber ab Zeile 162 wird nach dem Speichern der Code abgeschnitten. Somit wird das lange Notiy rssi_read_from_device nicht angelegt. Über ein manuell angelegtes Notify krieg ich das auch nicht hin.
Gibt es da irgendeine Grundeinstellung, die zu lange Codes kappt?
Hallo,
Vorschlag:
1.) Den gesamten CODE des notify "rssi_read_from_device" in der etwaigen eigenen "99_Utils.pm" als sub "do_rssi_read_from_device($)"einfügen.
2.) den code des notify aus der "include" Datei entfernen, da die ja nun im 99_Utils.pm eingefügt ist und mit do_rssi_read_from_device($) aufgerufen wird .
3.) Der Aufruf in der Include anpassen, und die sub do_rssi_read_from_device($EVENT) aus den "include-Datei" aufrufen. Das Notify selbst bleibt mit dem gleichen Namen bestehen "rssi_read_from_device", damit nicht die anderen Code Anteile geändert werden müssen.
Einfügen in eine 99_Utils.pm
sub do_rssi_read_from_device($) {
my ($EVENT) = @_;
my @culs=devspec2array("TYPE=HMLAN");;\
push(@culs, devspec2array("TYPE=CUL"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
...
der gesamten weiteren CODE der "rssi_read_from_device" hier einfügen
...
}
Das Notify aus der Include Datei entsprechend anpassen in der Art:define rssi_read_from_device notify RSSI_Chart:(refresh|clear) {
do_rssi_read_from_device($EVENT);
}
Das sollte so gehen. Nur kannst Du dann , falls Du an der do_rssi_read_from_device etwas ändern möchtest, das auch nur via 99_Utils.pm machen.
Viele Grüße!
Andreas
Hallo,
danke für Deine Antwort, wenn ich das so in eine MyUtils kopiere bekomme ich folgende Fehlermeldung:
ERROR:
Can't modify single ref constructor in scalar assignment at ./FHEM/99_myUtils.pm line 31, near ""http";" syntax error at ./FHEM/99_myUtils.pm line 78, near "if" syntax error at ./FHEM/99_myUtils.pm line 83, near "if" Global symbol "$ButtonColorSchemeDark" requires explicit package name at ./FHEM/99_myUtils.pm line 83. Global symbol "$fntColor1" requires explicit package name at ./FHEM/99_myUtils.pm line 85. Global symbol "$fntColor2" requires explicit package name at ./FHEM/99_myUtils.pm line 86. Global symbol "$colGood" requires explicit package name at ./FHEM/99_myUtils.pm line 87. Global symbol "$colMid" requires explicit package name at ./FHEM/99_myUtils.pm line 88. Global symbol "$colBad" requires explicit package name at ./FHEM/99_myUtils.pm line 89. Global symbol "$colWorse" requires explicit package name at ./FHEM/99_myUtils.pm line 90. Global symbol "$bgColor1" requires explicit package name at ./FHEM/99_myUtils.pm line 91. syntax error at ./FHEM/99_myUtils.pm line 92, near "}" ./FHEM/99_myUtils.pm has too many errors.
Irgendwas passt da nicht. Ich versteh auch nicht, warum die Datei nicht einfach komplett geladen wird, sondern bei bei Erstellung des notifys endet.
Hat jemand eine Idee, warum für meine HMUART-IOs jeweils 2 Spalten angezeigt werden?
Ich benutze den Code von der 1. Seite.
Gruß
Blueberry63
Zitat von: blueberry63 am 17 August 2017, 17:07:54
Hat jemand eine Idee, warum für meine HMUART-IOs jeweils 2 Spalten angezeigt werden?
Ich benutze den Code von der 1. Seite.
Gruß
Blueberry63
Späte Antwort, sorry:
Was gibt bei Dir in FHEM ...
list TYPE=HMUARTLGW... aus ?
Mehr als ein IO-device ?
Wenn ja, kannst Du das Suchen der IODev's auch genauer spezifizieren, indem Du den Filter im Code entsprechend anpasst.
Ca. Zeile 7/8 z.B.:
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));Viele Grüße!
Andreas
Hallo Andreas,
der List-Befehl bringt bei mir folgendes Ergebnis:
HMUART1
HMUART2
Das sieht doch ganz normal aus und müsste 2 Spalten im RSSI-Chart ergeben!???
Gruß
Blueberry63
Zitat von: blueberry63 am 02 September 2017, 19:35:16
Hallo Andreas,
der List-Befehl bringt bei mir folgendes Ergebnis:
HMUART1
HMUART2
Das sieht doch ganz normal aus und müsste 2 Spalten im RSSI-Chart ergeben!???
Gruß
Blueberry63
Ja, exakt so ist es.
wenn Du im Code ... "
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));" verwendest für das Array der IODevs, solltest Du auch zwei Spalten erhalten.
Anbei nur zum Verlgeich mein "List" für das derzeit eine HMUARTGW.
fhem Hauptsystem:>> list TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive
Internals:
AssignedPeerCnt 20
CFGFN /opt/fhem/FHEM/fhem.IODev.cfg
CNT 42
DEF uart://192.168.x.x:2325
DEVCNT 98
DevState 99
DevType UART
DeviceName 192.168.x.x:2325
FD 19
LastOpen 1504260164.5315
NAME HmUART
NR 317
PARTIAL
RAWMSG 050000323084703032A800000000E92D
RSSI -50
STATE opened
TYPE HMUARTLGW
XmitOpen 1
model HM-MOD-UART
msgLoadCurrent 0
msgLoadHistory 0/0/0/0/0/0/0/0/0/0/-1/0
msgLoadHistoryAbs 0/0/0/0/0/0/0/0/0/0/0/1/1
owner xxxxxx
owner_CCU VCCU
.clientArray:
CUL_HM
Helper:
CreditTimer 16472
FW 66561
Initialized 1
SendCnt 83
AckPending:
LastSendLen:
3
3
Log:
IDs:
PeerQueue:
PendingCMD:
RoundTrip:
Delay 0.00597500801086426
loadLvl:
lastHistory 1504507082.35854
Peers:
xxxx
READINGS:
2017-09-01 12:03:01 D-HMIdAssigned xxxx
2017-09-01 12:03:01 D-HMIdOriginal xxxx
2017-09-01 12:03:01 D-firmware 1.4.1
2017-09-01 12:03:02 D-serialNr OEQxxxx
2017-09-01 12:01:56 D-type HM-MOD-UART
2017-09-01 12:03:02 cond ok
2017-09-04 07:46:15 load 0
2017-09-01 12:03:02 loadLvl low
2017-09-01 12:02:44 state opened
helper:
Attributes:
group CUNO/HM-LAN
hmId xxxxxx
verbose 3
Viele Grüße!
Andreas
Hallo,
ich habe den Fehler im Script gefunden: Zeile 170 muss raus :-)
Gruß
Blueberry63
Zitat von: blueberry63 am 04 September 2017, 15:52:07
Hallo,
ich habe den Fehler im Script gefunden: Zeile 170 muss raus :-)
Gruß
Blueberry63
Ja,richtig: Beides ist ein bischen zu viel ;-)
push(@culs, devspec2array("TYPE=HMUARTLGW"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\
Ich änder es mal im .cfg im ersten Post.
Viele Grüße!
Andreas
Hallo
da muss ich mich doch auch einmal einklinken. Ich habe auch das Problem, das die Datei mit dem Script per INCLUDE in die fhem.cfg eingehängt wird. Dabei wird die INCLUDE-Datei beim FHEM Neustart gekürzt und das Script funktioniert auch nicht. Seltsamerweise gibt es auch keinerlei Fehlermeldungen von FHEM dazu. Die dateigröße ist nach dem Neustart von FHEM deutlich kleiner als nach dem kopieren per ftp.
Mit der ursprünglichen Version dieses Scripts hier geht es. Mit der aktuellsten Version nicht mehr. Die bekomm ich aus den obigen Gründen nicht zum laufen.
Scheint mir ein Problem von FHEM zu sein.
Irgendeine Idee?
Gruß Michael
Hallo Michael,
zur Info: meine Include-Datei hat 16313 Bytes.
Ich bin mir fast sicher, dass Dein Problem mit der FTP-Übertragung zu tun hat. Ich habe die aktuelle Version erzeugt, indem ich per Editor (z.Bsp. vi) eine neue Datei erzeugt habe und dann den Inhalt von der Webseite per CUT&PASTE eingefügt habe.
Gruß
Blueberry63
Hi
hab die Datei mit WinSCP rüberkopiert. Dateigröße hat da auch gepasst. Hab allerdings nicht in die Datei reingesehen mit einem Editor. Nach dem FHEM Neustart war die Datei dann nur noch so 7kb groß. vorher hatte ich auch um die 16kb.
Muss ich bei Gelegenheit nochmal testen und dann auch mit Copy+Paste arbeiten.
Aber im Moment läuft alles so schön. Never change a running System. Hatte Probleme das das ursprüngliche Script das HMUARTLGW nicht erkannt hatte. Das habe ich dann händisch korrigiert. Seit dem ist alles OK und ich hab immer noch die erste Version am laufen :)
Gruß Michael
Zitat von: mbrak am 06 September 2017, 12:13:49
Hallo
da muss ich mich doch auch einmal einklinken. Ich habe auch das Problem, das die Datei mit dem Script per INCLUDE in die fhem.cfg eingehängt wird. Dabei wird die INCLUDE-Datei beim FHEM Neustart gekürzt und das Script funktioniert auch nicht. Seltsamerweise gibt es auch keinerlei Fehlermeldungen von FHEM dazu. Die dateigröße ist nach dem Neustart von FHEM deutlich kleiner als nach dem kopieren per ftp.
Mit der ursprünglichen Version dieses Scripts hier geht es. Mit der aktuellsten Version nicht mehr. Die bekomm ich aus den obigen Gründen nicht zum laufen.
Scheint mir ein Problem von FHEM zu sein.
Irgendeine Idee?
Gruß Michael
Es ist ein ominöses Prob. in FHEM. Ich habe mal eine neue Version im ersten Post abgespeichert und habe die "langen" Zeilen gekürzt.
https://forum.fhem.de/index.php?action=dlattach;topic=62184.0;attach=84837
Ich habe nun exakt diese Datei als "include" hinzugefügt, FHEM neu gestartet und es wird nichts gekürzt.
Viele Grüße!
Andreas
Hallo zusammen.
Wollte auch nochmal gefragt haben, ob es möglich ist, die Signalduinos mit RSSI Werten auch in die Übersicht einzubauen !????!!
Hier mal des List der Devices.
Clients :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt:FS10:CUL_FHTTK:SIGNALduino_un:
DEF 192.168.2.20:23
DMSG TXAE35830836
DevState initialized
DeviceName 192.168.2.20:23
FD 6
LASTDMSG TXAE35830836
MSGCNT 77
NAME wlanduino
NR 69
PARTIAL
RAWMSG MU;P0=2516;P1=-4304;P2=1304;P3=-1061;P4=492;P7=-15296;D=012323234343234323434323232323234343232323234323232323234343234343214743434343232323434323432343432323232323434323232323432323232323434323434321232323234323432343434323232343432343234343232323232343432323232343232323232343432343432;CP=4;R=63;
RSSI -42.5
STATE opened
TIME 1505833055
TYPE SIGNALduino
sendworking 0
unknownmessages
version V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50
Bekommt man auch ein LaCrosse Gatewax rein ???
Internals:
Alive 2017-09-19 16:51:24
Clients :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
DEF 192.168.2.150:81
DeviceName 192.168.2.150:81
FD 5
LCG_MSGCNT 84
LCG_TIME 2017-09-19 16:51:55
NAME LCG
NR 74
PARTIAL
RAWMSG OK 9 12 1 4 157 63
STATE opened
TIMEOUT 0.5
TYPE LaCrosseGateway
model LaCrosseITPlusReader.Gateway.1.30
settings (1=RFM69 f:868300 r:17241) + (2=RFM69 f:868300 r:9579) {IP=192.168.2.150}]
MatchList:
1:PCA301 ^\S+\s+24
2:EC3000 ^\S+\s+22
3:LaCrosse ^(\S+\s+9 |OK\sWS\s)
4:EMT7110 ^OK\sEMT7110\s
5:Level ^OK\sLS\s
6:KeyValueProtocol ^OK\sVALUES\s
READINGS:
2017-09-19 16:51:33 FramesPerMinute 51
2017-09-19 16:51:33 FreeHeap 17584
2017-09-19 16:51:33 RSSI -42
2017-09-19 16:51:33 ReceivedFrames 733
2017-09-19 16:51:33 UpTime 0Tg. 0Std. 15Min. 0Sek.
2017-09-19 17:02:47 state opened
helper:
Attributes:
gruß und danke
Sascha
Zitat von: sash.sc am 19 September 2017, 17:03:46
Hallo zusammen.
Wollte auch nochmal gefragt haben, ob es möglich ist, die Signalduinos mit RSSI Werten auch in die Übersicht einzubauen !????!!
Hier mal des List der Devices.
Clients :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt:FS10:CUL_FHTTK:SIGNALduino_un:
DEF 192.168.2.20:23
DMSG TXAE35830836
DevState initialized
DeviceName 192.168.2.20:23
FD 6
LASTDMSG TXAE35830836
MSGCNT 77
NAME wlanduino
NR 69
PARTIAL
RAWMSG MU;P0=2516;P1=-4304;P2=1304;P3=-1061;P4=492;P7=-15296;D=012323234343234323434323232323234343232323234323232323234343234343214743434343232323434323432343432323232323434323232323432323232323434323434321232323234323432343434323232343432343234343232323232343432323232343232323232343432343432;CP=4;R=63;
RSSI -42.5
STATE opened
TIME 1505833055
TYPE SIGNALduino
sendworking 0
unknownmessages
version V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50
Bekommt man auch ein LaCrosse Gatewax rein ???
Internals:
Alive 2017-09-19 16:51:24
Clients :PCA301:EC3000:LaCrosse:Level:EMT7110:KeyValueProtocol
DEF 192.168.2.150:81
DeviceName 192.168.2.150:81
FD 5
LCG_MSGCNT 84
LCG_TIME 2017-09-19 16:51:55
NAME LCG
NR 74
PARTIAL
RAWMSG OK 9 12 1 4 157 63
STATE opened
TIMEOUT 0.5
TYPE LaCrosseGateway
model LaCrosseITPlusReader.Gateway.1.30
settings (1=RFM69 f:868300 r:17241) + (2=RFM69 f:868300 r:9579) {IP=192.168.2.150}]
MatchList:
1:PCA301 ^\S+\s+24
2:EC3000 ^\S+\s+22
3:LaCrosse ^(\S+\s+9 |OK\sWS\s)
4:EMT7110 ^OK\sEMT7110\s
5:Level ^OK\sLS\s
6:KeyValueProtocol ^OK\sVALUES\s
READINGS:
2017-09-19 16:51:33 FramesPerMinute 51
2017-09-19 16:51:33 FreeHeap 17584
2017-09-19 16:51:33 RSSI -42
2017-09-19 16:51:33 ReceivedFrames 733
2017-09-19 16:51:33 UpTime 0Tg. 0Std. 15Min. 0Sek.
2017-09-19 17:02:47 state opened
helper:
Attributes:
gruß und danke
Sascha
Das geht leider nicht so einfach, weil der Signalduino nur ein Device ist und nicht von vielen Empfangen wird und deshalb auch in vielen Devices kein RSSI Wert in den Readings/Internals steht. Anders ist es ja bei allen CU(n,l)s HMuART usw. usw. ... hier wird ja der RSSI Wert eines jeden empfangenen Gerätes an das Gerät geschrieben.
Anderes Problem: mit dem LaCrosseGW. Lacrosse schreibt meines Wissens keine RSSI Werte an die Devices.
Die Funktion ist ja so aufgebaut, dass ein RSSI Wert als "Internal" an dem empfangenen Device geschrieben wird, abhängig vom IODev, welches das Signal empfangen hat.
Viele Grüße!
Andreas
Oben in den internals steht doch ein RSSI Wert. Dieser ist von Signalduino. Jedoch wird dieser RSSI Wert nur von einem Signalduino bereit gestellt, wenn er mit einem cc1101 Radio ausgestattet ist.
Deswegen hatte ich gefragt.
Ok, dass das LaCrosseGateway nicht geht, kann ich mit leben.
Wäre ne coole Sache den Signalduino da noch mit rein zu bekommen, in der Übersicht.
Gruß und danke
Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Hallo,
ich habe diesen Tread gelesen, hoffendlich auch richtig. Mir fehlt eine Möglichkeit die FS20 RSSI Werte auszulesen.
Ich habe "attr FHZ_0 addvaltrigger 1" eingetragen und
Zitatpush(@culs, devspec2array("TYPE=FHZ"));;\
im Code eingetragen.
Fehlt noch was? Ich bekomme nichts zu FHZ angezeigt.
Viele Grüße
Wilhelm
Nachtrag: Da muss ich wohl mehr anpassen, ich weiß aber nicht was.
Danke, hat sich erledigt.
Wilhelm
Hallo,
ich habe gerade die RSSI-Anzeige neu einrichten müssen. Leider werden die Zahlenwerte nicht angezeigt, es wird also nur eine leere Tabelle (Rahmen ohne Zahlen) angezeigt. Außerdem funktionieren die Schiebeschalter in der Spalte "Enable" nicht. Hat jeman einen Tipp für mich?
LG,
Daniel
Moin
Benutzt Du https? Hast Du es entsprechend umgestellt?
"Clear all RSSI values in internals" mal gerückt?
Alle Schalter mal aus und ein geschaltet? Die beiden Schalter bezüglich "old Values" aus geschaltet?
Danach refresh gedrückt?
Gruß
Daniel
Alles schon probiert, hat nichts gebracht. Weder die Zahlenwerte, noch die Schiebeschalter erscheinen.
LG,
Daniel
Zitat von: WhyTea am 26 Juli 2018, 08:31:22
Moin
Benutzt Du https? Hast Du es entsprechend umgestellt?
"Clear all RSSI values in internals" mal gerückt?
Alle Schalter mal aus und ein geschaltet? Die beiden Schalter bezüglich "old Values" aus geschaltet?
Danach refresh gedrückt?
Gruß
Daniel
Hallo zusammen,
ich habe das gleiche Problem. Es fehlen die RSSI Werte, cfg ist auf https umgestellt. Momentan sieht es so aus wie im Anhang.
Grüße
Zitat von: yep_DD am 06 November 2018, 15:39:34
Hallo zusammen,
ich habe das gleiche Problem. Es fehlen die RSSI Werte, cfg ist auf https umgestellt. Momentan sieht es so aus wie im Anhang.
Grüße
mach mal die dark color scheme aus.
IMHO ist doe optimiert für helle Installationen.
Oder markiere mal den Berich wo die RSSI sein sollten mit der Maus.
es könnte nur ein Anzeigeproblem anhand der Farben sein.
/Frank
Hi Frank,
hat leider nichts gebracht. Habe danach noch mal alle Werte gelöscht. Aber es zeigt nur die Zeilen der Devices an, aber keine RSSI Werte.
Stephan
Kommando zurück, plötzlich geht es, egal ob Dark Mode oder nicht, ich habe einfach mal alle Schalter aus- und eingeschaltet:
Eine Frage noch, gibt es einen Grund warum die Aktoren wie z.B. HM-LC-Bl1PBU-FM nicht angezeigt werden?
Zitat von: yep_DD am 06 November 2018, 15:54:54
Kommando zurück, plötzlich geht es, egal ob Dark Mode oder nicht, ich habe einfach mal alle Schalter aus- und eingeschaltet:
Eine Frage noch, gibt es einen Grund warum die Aktoren wie z.B. HM-LC-Bl1PBU-FM nicht angezeigt werden?
HM Aktoren werden angezeigt, wenn das IODev eines, der unten aufgeführten ist )also "HMLAN" oder "HMUARTLGW" etc. Etwaige weitere IODev(ices) kannst Du im Array im Code selbst (wenn erforderlich) ergänzen. Im Bereich ... s.u.
my @culs=devspec2array("TYPE=CUL");;\
push(@culs, devspec2array("TYPE=HMLAN"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\"
Schick mal bitte das komplette"Reading" deines Aktor, dessen Werte nicht angezeigt werden ...
Viele Grüße!
Andreas
Hi Andreas,
vielen Dank für die Antwort. Ich verwende ein HM-MOD-RPI-PCB definiert über eine VCCU. Damit ist er ja vom Typ "CUL_HM", oder? Müsste ich das jetzt, wie von dir beschrieben, hinzufügen? Eigentlich nicht, da es ja ein HMUARTLGW ist, oder?
Das sind alle readings eines Switches im Schlafzimmer:
CommandAccepted yes 2018-11-01 22:44:05
D-firmware 1.2 2018-11-01 22:44:04
D-serialNr OEQxxxxxxxx 2018-11-01 22:44:04
R-pairCentral set_0xxxxxxx 2018-11-01 22:44:04
battery ok 2018-11-06 16:20:44
state HMSwitchBedroom_Btn_04 Short 2018-11-06 16:20:44
Hi Andreas,
leider habe ich immernoch das gleiche Problem. Weißt du, was ich anders machen könnte?
Grüße
Hallo zusammen,
ich habe die Erweiterung ausprobiert möchte sie aber erstmal nicht nutzen. Ich habe das Script über das include eingebunden.
Nun habe ich die fhem.cfg von vor eineer Woche wiederhergestellt und fhem neugestartet. Beim Schalten wird bei den einzelnen devices jedoch immer der rssi Wert geloggt:
2018-12-02_19:59:14 IT_V3_1a9f7442 RAWMSG: i5a665aa9a9959659
2018-12-02_19:59:14 IT_V3_1a9f7442 RSSI: -74
2018-12-02_20:11:55 IT_V3_1a9f7442 off
2018-12-02_20:11:56 IT_V3_1a9f7442 off
2018-12-02_20:11:56 IT_V3_1a9f7442 RAWMSG: i5a665aa9a9959559
2018-12-02_20:11:56 IT_V3_1a9f7442 RSSI: -20
2018-12-02_20:17:23 IT_V3_1a9f7442 on
2018-12-02_20:17:23 IT_V3_1a9f7442 RAWMSG: i5a665aa9a9959659
2018-12-02_20:17:23 IT_V3_1a9f7442 RSSI: -69.5
Das Device zb habe ich neu anlegen lassen via autocreate. Wo kann ich das loggen des rssi Wertes manuell ausschalten?
Viele Grüße
Hab es bei mir nun eingebaut.
Macht echt was her!!!!!
Danke an den Macher!
Hallo,
kann mir jemand einen Tip geben, weshalb ich nicht alle Homeatic Geräte angezeigt bekomme.
Einmal sind es 30 und beim nächsten Refresh mal mehr mal weniger.
Die Angezeigten Geräte sind mit dem CUL und auch dem HMLAN Adapter verbunden. Dachte schon, dass ich nur einen der beiden Sender konfiguriert habe.
Dem scheint nicht so.
Danke für die Hinweise
Hallo,
ich habe die Konfig fhem.rssi.cfg in FHEM gespeichert.
Allerdings ist die Tabelle leer, d.h. es werden keine RSSI-Werte angezeigt.
Zur Dokumentation habe ich einen Screenshot angehängt.
Was ist die Ursache hierfür?
THX
Zitat von: cmonty14 am 06 Mai 2019, 00:19:14
Hallo,
ich habe die Konfig fhem.rssi.cfg in FHEM gespeichert.
Allerdings ist die Tabelle leer, d.h. es werden keine RSSI-Werte angezeigt.
Zur Dokumentation habe ich einen Screenshot angehängt.
Was ist die Ursache hierfür?
THX
Hast du mal alle Schalter wie in der Anleitung beschrieben betätigt?
Nach einem shutdown restart sind die RSSI Werte nicht mehr vollständig vorhandne, es dauert dann wieder bis alle Geräte sich wenigstens einmal bei FHEM gemeldet haben, ist dir das bekannt?
Hast du schon auf refresh geklickt?
Gruß Robert
Gesendet von iPhone mit Tapatalk Pro
Zitat von: no_Legend am 06 Mai 2019, 09:06:53
Hast du mal alle Schalter wie in der Anleitung beschrieben betätigt?
Nach einem shutdown restart sind die RSSI Werte nicht mehr vollständig vorhandne, es dauert dann wieder bis alle Geräte sich wenigstens einmal bei FHEM gemeldet haben, ist dir das bekannt?
Hast du schon auf refresh geklickt?
Gruß Robert
Gesendet von iPhone mit Tapatalk Pro
Hallo,
ich habe die Schalter der 3 HM Geräte mehrfach betätigt, weil ich die "erweiterte Konfiguration" einrichte (hierzu gehört z.B. die Definition von Status-Icons).
Und ich habe mehrfach auf refresh geklickt.
THX
Zitat von: cmonty14 am 06 Mai 2019, 14:23:02
Hallo,
ich habe die Schalter der 3 HM Geräte mehrfach betätigt, weil ich die "erweiterte Konfiguration" einrichte (hierzu gehört z.B. die Definition von Status-Icons).
Und ich habe mehrfach auf refresh geklickt.
THX
Nicht die hm devices an sich.
Du musst die Schalter die beim RSSI angeboten werden mal alle schalten.
Gruß Robert
Gesendet von iPhone mit Tapatalk Pro
Zitat von: no_Legend am 06 Mai 2019, 15:39:23
Nicht die hm devices an sich.
Du musst die Schalter die beim RSSI angeboten werden mal alle schalten.
Gruß Robert
Gesendet von iPhone mit Tapatalk Pro
:)
Solved!
Hallo,
Ich habe bei mir das Problem, dass, wenn ich REFRESH drücke, die "BEST" RSSI Werte immer gleich den momentan gelesenen RSSI Werte sind !
Woran kann das liegen?
Zitat von: mnennstiel am 14 Mai 2019, 12:01:30
Hallo,
Ich habe bei mir das Problem, dass, wenn ich REFRESH drücke, die "BEST" RSSI Werte immer gleich den momentan gelesenen RSSI Werte sind !
Woran kann das liegen?
Imho bezieht sich das "best" auf die Verteilung auf mehrere Gateways. Nicht auf die Zeit Linie auf einem gateway.
Gesendet von meinem Doogee S60 mit Tapatalk
Danke Frank_Huber!
Kann man Zigbee Geräte und JeeLink Geräte, Bluetooth und WLAN Geräte auch mitloggen?
Denke nicht.
Müsste man aber den Ersteller des Codes fragen.
Gesendet von meinem Doogee S60 mit Tapatalk
Also das es nicht geht weiß ich - ich meine nur ob man den Code so modulieren kann, dass alle Geräte, mit denen FHEM kommunizieren, erfasst werden!
Wäre eine super Sache ! Leider bin ich noch nicht so firm drin um sowas selbst zu bewerkstelligen.
Gruss
Zitat von: mnennstiel am 14 Mai 2019, 12:19:32
Kann man Zigbee Geräte und JeeLink Geräte, Bluetooth und WLAN Geräte auch mitloggen?
Lass uns das doch ausprobieren...
Quelle: https://forum.fhem.de/index.php/topic,62184.msg854753.html#msg854753
z.B.:
Zitatmy @culs=devspec2array("TYPE=CUL");;\
push(@culs, devspec2array("TYPE=HMLAN"));;\
push(@culs, devspec2array("TYPE=CUL_RFR"));;\
push(@culs, devspec2array("TYPE=HMCCUDEV"));;\
push(@culs, devspec2array("TYPE=CUL_MAX"));;\
push(@culs, devspec2array("TYPE=MYSENSORS_DEVICE"));;\
push(@culs, devspec2array("TYPE=MQTT2_DEVICE"));;\
push(@culs, devspec2array("TYPE=HMUARTLGW:FILTER=DevType!=LGW-KeepAlive"));;\"
PS: Was mich interessieren würde wie man einzelne IOs von der Anzeige ausschliessen kann...
super - vielen Dank
ich habe bei mir noch Enocean im Einsatz - wär es ggf. möglich dies noch zu erweitern?
der RSSI wert verbirgt sich bei mir hinter folgendem:
TCM_ESP3_0_RSSI
Wobei TCM_ESP3_0 der name des IODev - also Enocean-USB-Sticks ist...
Ich habe immer wieder mit meinem Rolladenaktor im Keller Empfangsprobleme. Daher habe ich das Modul auch eingerichtet, aber finde beim HMUART kein Attribut addvaltrigger. Kann das Modul erweitert werden, damit ich den auch sehe?
Ich habe einen CUL und HMUART und gehe über eine VCCU.
Grüße Jürgen
Gelöst: Wird inzwischen auch angezeigt.
Hi,
Super Tool. Läuft bestens. Danke an den Macher.
Was noch gut wäre ist eine Regänzung in der Tabelle, damit die definierten IODev zu den Geräten mit angezeigt wird. Leider sind meine Kenntnisse zu gering, um dies selbst zu bewerkstelligen.
Ciao Jürgen
Erst einmal vielen herzlichen Dank für diese absolut hilfreiche Darstellung der RSSI Werte, das hat mir bei der Optimierung meiner drei HMLAN sehr geholfen.
Zitat von: spiedo am 10 Oktober 2019, 10:34:34
Was noch gut wäre ist eine Regänzung in der Tabelle, damit die definierten IODev zu den Geräten mit angezeigt wird. Leider sind meine Kenntnisse zu gering, um dies selbst zu bewerkstelligen.
In diese Richtung geht auch meine Frage, könnte man eine Spalte für das PreferdIO Device (IOgrp <vccu>:<preferredIO>) hinzufügen?
Meine Kenntnisse sind da leider nicht ausreichend.
Vielen herzlichen Dank
Ich bekomme immer nur den Wert für CUL_MAX0 angezeigt. Muss ich mich nur etwas länger gedulden?
Hallo,
ich bin soeben auch auf das Skript gestoßen und muss mich meinem Vorredner anschließen.
Ich erhalte ebenfalls nur die RSSI Werte vom CUL_MAX. Kann es manchmal daran liegen, dass die Devices nicht den TYPE=CUL_MAX, sondern TYPE=MAX haben?
EDIT: Nach einem Neustart von FHEM verschwindet der Raum RSSI auch und er hat scheinbar das include /opt/fhem/FHEM/fhem.rssi.cfg nicht dauerhaft übernommen. Oder gilt das immer nur für die aktuelle Session und ist nach einem Neustart so gewünscht?
Gruß
sTaN