micky0867 / lebattery

LE-Bluetooth battery measurement for FHEM
0 stars 0 forks source link

Problem mit Punkt im Devicenamen #2

Closed OliverWieland closed 6 years ago

OliverWieland commented 6 years ago

Wenn ein Punkt im Devicenamen des G-Tags ist, wird der Tag nicht als solcher erkannt

micky0867 commented 6 years ago

Kann ich nicht nachvollziehen, hast du die Ausgabe des Scripts?

Bei mir sieht's so aus: /opt/fhem/script/lebattery -v Determining address for gtag.Micky ... Determining type for gtag.Micky ... Gigaset Fetching batterylevel for gtag.Micky (7C:2F:80:C4:5A:A3) ... Setting batterylevel for gtag.Micky to 100%

OliverWieland commented 6 years ago

Hmmm, strange, jetzt gehts auch...

Aber was nicht funktioniert, ist, den Tag automatisch finden zu lassen:

mit LETAGS="" kommt das raus:

pi@fhem:/opt/fhem/script $ sudo ./lebattery -v Determining address for Internals: ... Internals: is in state , no further action required Determining address for ADDRESS7C:2F:80:99:C9:B7 ... ADDRESS7C:2F:80:99:C9:B7 is in state , no further action required Determining address for CHANGED ... CHANGED is in state , no further action required Determining address for DEFlan-bluetooth7C:2F:80:99:C9:B7127.0.0.1:5333120 ... DEFlan-bluetooth7C:2F:80:99:C9:B7127.0.0.1:5333120 is in state , no further action required Determining address for DeviceName127.0.0.1:5333 ... DeviceName127.0.0.1:5333 is in state , no further action required Determining address for FD5 ... FD5 is in state , no further action required Determining address for MODElan-bluetooth ... MODElan-bluetooth is in state , no further action required Determining address for NAMEOli.Tag ... NAMEOli.Tag is in state , no further action required Determining address for NOTIFYDEVglobal ... NOTIFYDEVglobal is in state , no further action required Determining address for NR68 ... NR68 is in state , no further action required Determining address for NTFY_ORDER50-Oli.Tag ... NTFY_ORDER50-Oli.Tag is in state , no further action required Determining address for PARTIAL ... PARTIAL is in state , no further action required Determining address for STATEpresent ... STATEpresent is in state , no further action required Determining address for TIMEOUT_NORMAL120 ... TIMEOUT_NORMAL120 is in state , no further action required Determining address for TIMEOUT_PRESENT120 ... TIMEOUT_PRESENT120 is in state , no further action required Determining address for TYPEPRESENCE ... TYPEPRESENCE is in state , no further action required Determining address for READINGS: ... READINGS: is in state , no further action required Determining address for 2017-12-0816:36:23batterylevel47 ... 2017-12-0816:36:23batterylevel47 is in state , no further action required Determining address for 2017-12-0816:38:11device_nameGigasetG-tag ... 2017-12-0816:38:11device_nameGigasetG-tag is in state , no further action required Determining address for 2017-12-0212:57:47modellan-bluetooth ... 2017-12-0212:57:47modellan-bluetooth is in state , no further action required Determining address for 2017-12-0816:38:11presencepresent ... 2017-12-0816:38:11presencepresent is in state , no further action required Determining address for 2017-12-0816:38:11statepresent ... 2017-12-0816:38:11statepresent is in state , no further action required Determining address for helper: ... helper: is in state , no further action required Determining address for CURRENT_STATEpresent ... CURRENT_STATEpresent is in state , no further action required Determining address for CURRENT_TIMEOUTnormal ... CURRENT_TIMEOUTnormal is in state , no further action required Determining address for Attributes: ... Attributes: is in state , no further action required Determining address for absenceThreshold2 ... absenceThreshold2 is in state , no further action required Determining address for devStateIconpresent:bluetooth@blueabsent:bluetooth ... devStateIconpresent:bluetooth@blueabsent:bluetooth is in state , no further action required Determining address for event-on-change-readingstate,batterylevel ... event-on-change-readingstate,batterylevel is in state , no further action required Determining address for room80_Anwesenheit ... room80_Anwesenheit is in state , no further action required

micky0867 commented 6 years ago

Das kann ich nur reproduzieren, wenn ich lebattery verändere.... Mach mal ein "list MODE=lan-bluetooth" in fhem. Das sollte deine GTAGs auflisten.

Dann prüfe, ob du in lebattery in der Zeile 24 ebenfalls diesen String findest... Ich vermute, dort steht "list Oli.Tag"

Bitte das Script nochmal runterladen und nur das telnet-Passwort von FHEM, sofern du eins gesetzt hast, anpassen.

OliverWieland commented 6 years ago

Sorry, gleiches Verhalten. Ich hab die Skripte auch nochmal verglichen, die sind identisch; Zeile 24 ist auch so wie sie gehört:

TAGS=$(echo -e "${TELNETPASSWORD}list MODE=lan-bluetooth" | socat -t60 - TCP:127.0.0.1:7072 | grep -v "$

hier noch der der Output von "list MODE=lan-bluetooth"

Internals: ADDRESS 7C:2F:80:99:C9:B7 CHANGED DEF lan-bluetooth 7C:2F:80:99:C9:B7 127.0.0.1:5333 120 DeviceName 127.0.0.1:5333 FD 5 MODE lan-bluetooth NAME Oli.Tag NOTIFYDEV global NR 68 NTFY_ORDER 50-Oli.Tag PARTIAL STATE present TIMEOUT_NORMAL 120 TIMEOUT_PRESENT 120 TYPE PRESENCE READINGS: 2017-12-08 16:44:46 batterylevel 47 2017-12-08 18:12:11 device_name Gigaset G-tag 2017-12-02 12:57:47 model lan-bluetooth 2017-12-08 18:12:11 presence present 2017-12-08 18:12:11 state present helper: CURRENT_STATE present CURRENT_TIMEOUT normal Attributes: absenceThreshold 2 devStateIcon present:bluetooth@blue absent:bluetooth event-on-change-reading state,batterylevel room 80_Anwesenheit

OliverWieland commented 6 years ago

falls das wichtig ist: Raspian Stretch, perl V5.24.1

micky0867 commented 6 years ago

Bei dem list in FHEM sollten eigentlich nur die Namen der GTAGs rauskommen, nicht das ganze Device... Die Ausgabe sieht so aus, als hättest du "list Oli.Tag" gemacht... Das scheint eine Besonderheit in FHEM zu sein. Welche FHEM-Version hast du?

OliverWieland commented 6 years ago

`version

Latest Revision: 15556

File Rev Last Change

fhem.pl 15522 2017-11-29 21:50:39Z rudolfkoenig 57_ABFALL.pm 11020 2017-09-13 00:40:21Z uniqueck 39_alexa.pm 15047 2017-09-10 18:05:05Z justme1968 96_allowed.pm 14888 2017-08-13 12:07:12Z rudolfkoenig 90_at.pm 14995 2017-09-03 14:23:14Z rudolfkoenig 98_autocreate.pm 15377 2017-11-01 16:59:23Z rudolfkoenig 57_Calendar.pm 15443 2017-11-17 21:34:26Z neubert 98_copy.pm 12200 2016-09-23 18:41:25Z justme1968 00_CUL.pm 15027 2017-09-08 09:11:43Z rudolfkoenig 10_CUL_HM.pm 15498 2017-11-25 17:12:33Z martinp876 95_Dashboard.pm 12251 2016-10-03 09:45:43Z talkabout 98_DOIF.pm 14790 2017-07-26 10:27:41Z Damian 98_dummy.pm 12700 2016-12-02 16:49:42Z rudolfkoenig 70_ENIGMA2.pm 14985 2017-09-01 11:18:48Z loredo 91_eventTypes.pm 14888 2017-08-13 12:07:12Z rudolfkoenig 01_FHEMWEB.pm 15555 2017-12-04 20:37:15Z rudolfkoenig 92_FileLog.pm 15548 2017-12-03 20:01:46Z rudolfkoenig 98_help.pm 15223 2017-10-10 10:14:24Z betateilchen 98_HMinfo.pm 15458 2017-11-19 18:20:37Z martinp876 95_holiday.pm 15433 2017-11-15 09:51:10Z rudolfkoenig 98_HTTPMOD.pm 15035 2017-09-09 12:02:21Z StefanStrobel 02_HTTPSRV.pm 13976 2017-04-12 13:35:44Z neubert 98_JsonList2.pm 13757 2017-03-20 19:17:02Z rudolfkoenig 23_KOSTALPIKO.pm 15368 2017-10-31 19:00:55Z John 00_MQTT.pm 15126 2017-09-24 07:43:17Z eisler 10_MQTT_DEVICE.pm 15202 2017-10-05 20:35:33Z eisler 91_notify.pm 15537 2017-12-01 21:01:39Z rudolfkoenig 70_ONKYO_AVR.pm 14399 2017-05-28 10:33:19Z loredo 73_PRESENCE.pm 15302 2017-10-22 11:32:19Z markusbloch 33_readingsGroup.pm 15100 2017-09-19 21:21:27Z justme1968 99_SUNRISE_EL.pm 14888 2017-08-13 12:07:12Z rudolfkoenig 98_SVG.pm 15555 2017-12-04 20:37:15Z rudolfkoenig 32_SYSSTAT.pm 10567 2016-01-18 21:34:09Z justme1968 50_TelegramBot.pm 15421 2017-11-11 16:02:47Z viegener 98_telnet.pm 15006 2017-09-05 09:37:33Z rudolfkoenig No Id found for 31_TradfriDevice.pm No Id found for 30_TradfriGateway.pm No Id found for 31_TradfriGroup.pm 59_Twilight.pm 14039 2017-04-19 19:59:56Z orti-otto 98_update.pm 15377 2017-11-01 16:59:23Z rudolfkoenig 99_Utils.pm 13259 2017-01-28 17:39:39Z rudolfkoenig 98_version.pm 15140 2017-09-26 09:20:09Z markusbloch 59_Weather.pm 12559 2016-11-13 08:54:54Z borisneubert 98_weblink.pm 14888 2017-08-13 12:07:12Z rudolfkoenig 70_XBMC.pm 12906 2016-12-29 22:55:17Z vbs

ABFALL_getEvents.pm 11021 2017-09-13 00:32:22Z uniqueck ABFALL_setUpdate.pm 11021 2017-09-13 00:32:22Z uniqueck Blocking.pm 15412 2017-11-09 14:34:29Z rudolfkoenig Color.pm 11159 2016-03-30 16:08:06Z justme1968 DevIo.pm 14933 2017-08-20 14:21:58Z rudolfkoenig GPUtils.pm 6653 2014-10-02 11:59:37Z ntruchsess HMConfig.pm 15504 2017-11-26 09:10:29Z martinp876 HttpUtils.pm 15535 2017-12-01 20:12:47Z rudolfkoenig myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig ONKYOdb.pm 14012 2017-04-17 13:09:41Z loredo RTypes.pm 10476 2016-01-12 21:03:33Z borisneubert SetExtensions.pm 12935 2017-01-02 19:51:46Z rudolfkoenig TcpServerUtils.pm 14862 2017-08-07 15:16:03Z rudolfkoenig No Id found for TradfriUtils.pm YahooWeatherAPI.pm 12465 2016-10-29 09:01:31Z borisneubert

fhemweb.js 15554 2017-12-04 20:01:08Z rudolfkoenig fhemweb_readingsGroup.js 15189 2017-10-03 17:53:27Z justme1968 svg.js 15523 2017-11-29 22:04:35Z rudolfkoenig  `

micky0867 commented 6 years ago

Die Ausgabe von "list MODE=lan-bluetooth" in FHEM variiert, je nachdem, ob man nur ein, oder mehrere passende Devices hat. Bei nur einem passenden Devices, werden alle Attribute des Devices ausgegeben. Bei mehreren passenden Devices werden nur deren Namen ausgegeben. Ich habe dafür einen Workaround in lebattery eingebaut.

Bitte testen und rückmelden!

OliverWieland commented 6 years ago

Funktioniert!! :-) Danke für die Unterstützung!

OliverWieland commented 6 years ago

Bleibt noch die Frage: Ist das ein Fehler in FHEM?

micky0867 commented 6 years ago

Ich tippe eher auf ein Feature. Wenn man annimmt, dass list nur im interaktiven Kontext verwendet wird, dann macht es m.E. durchaus Sinn. Bei mehreren Devices werden in der Oberfläche von FHEM nicht nur deren Namen angezeigt, sondern es sind ja auch HTML-Links auf die Devices.

Ich habe aber mal eine Diskussion im Wiki gestartet: https://wiki.fhem.de/wiki/List