RSSI Werte schnell und nach CUL/CUN/HMLAN Devices als Tabelle dargestellt NEUE!

Begonnen von fhem-challenge, 08 Dezember 2016, 15:38:44

Vorheriges Thema - Nächstes Thema

Frini

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?

fhem-challenge

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

Frini

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.

blueberry63

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
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

fhem-challenge

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



blueberry63

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
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

fhem-challenge

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

blueberry63

Hallo,

ich habe den Fehler im Script gefunden: Zeile 170 muss raus :-)

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

fhem-challenge

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


mbrak

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

blueberry63

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
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

mbrak

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

fhem-challenge

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

sash.sc

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
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

fhem-challenge

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