livetracking mit owntracks II

Begonnen von rallye, 06 November 2020, 11:07:32

Vorheriges Thema - Nächstes Thema

rallye

In Anlehnung an dieses Topic https://forum.fhem.de/index.php/topic,99666.0.html habe ich bei meiner Neuinstallation meines Systems von mosquitto auf MQTT2 umgestellt. Ich habe einen MQTT2_Server definiert
Internals:
   AuthenticationDeniedBy MQTT_sec
   CONNECTS   600
   DEF        8883 global
   FD         31
   FUUID      5fa2a6c4-f33f-55a1-4fd6-657034382d3efb57
   NAME       MQTT_Owntracks
   NR         261
   PORT       8883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   .attraggr:
   .attrminint:
   .clientArray:
     MQTT2_DEVICE
   READINGS:
     2020-11-06 10:15:49   nrclients       3
     2020-11-04 18:03:53   state           Initialized
   clients:
     MQTT_Owntracks_91.115.215.96_40571 1
     MQTT_Owntracks_91.115.215.96_45992 1
     MQTT_Owntracks_91.115.215.96_46806 1
   retain:
     owntracks/Nici/mobile:
       ts         1604641362.19579
       val        {"_type":"location","acc":26,"alt":412,"batt":94,"conn":"w","inregions":["home"],"lat":xx.xxx6639,"lon":xx.xxx0345,"t":"p","tid":"NL","tst":1604641358,"vac":9,"vel":0}
     owntracks/Sepp/mobile:
       ts         1604650070.7533
       val        {"_type":"location","acc":1200,"alt":0,"batt":75,"conn":"w","inregions":["home"],"lat":xx.xxx376,"lon":xx.xxx4574,"t":"u","tid":"SL","tst":1604650069,"vac":0,"vel":0}
     owntracks/owntracks/mobile:
       ts         1604655489.66864
       val        {"_type":"location","acc":14,"alt":406,"batt":89,"conn":"w","inregions":["home"],"lat":xx.xxx6781,"lon":xx.xxx0498,"t":"p","tid":"NL","tst":1604655486,"vac":116,"vel":0}
Attributes:
   autocreate simple
   room       MQTT

der aus dem WAN erreichbar ist (allowed ist entsprechend definiert)
Internals:
   CFGFN     
   FUUID      5fa5015b-f33f-55a1-c79e-2a430c782610658c
   NAME       MQTT_sec
   NR         419
   STATE      validFor:MQTT_Owntracks
   TYPE       allowed
   validFor   MQTT_Owntracks
   .attraggr:
   .attrminint:
   READINGS:
     2020-11-06 08:55:26   state           validFor:MQTT_Owntracks
Attributes:
   basicAuth  hier steht meine verschlüsselte Eingabe für user pwd
   room       MQTT
   validFor   MQTT_Owntracks

und stellvertretend ein von FHEM generiertes Device (Android Phone)
Internals:
   CID        seppmobile
   DEF        seppmobile
   DEVICETOPIC MQTT2_seppmobile
   FUUID      5fa2b93e-f33f-55a1-079c-094ceed909e58d68
   IODev      MQTT_Owntracks
   LASTInputDev MQTT_Owntracks
   MQTT_Owntracks_MSGCNT 144
   MQTT_Owntracks_TIME 2020-11-06 10:32:01
   MSGCNT     144
   NAME       MQTT2_seppmobile
   NR         262
   STATE      ???
   TYPE       MQTT2_DEVICE
   .attraggr:
   .attrminint:
   READINGS:
     2020-11-06 10:32:01   _type           location
     2020-11-06 10:32:01   acc             1200
     2020-11-06 10:32:01   alt             0
     2020-11-06 10:32:01   batt            68
     2020-11-06 10:32:01   conn            w
     2020-11-05 12:59:45   desc            home
     2020-11-05 12:59:45   event           enter
     2020-11-06 10:32:01   inregions_1     home
     2020-11-06 10:32:01   lat             xx.xxx1376
     2020-11-06 10:32:01   lon             xx.xxx4574
     2020-11-06 10:12:11   subscriptions   owntracks/+/mobile owntracks/+/mobile/event owntracks/+/mobile/info owntracks/+/mobile/waypoints owntracks/owntracks/mobile/cmd
     2020-11-06 10:32:01   t               p
     2020-11-06 10:32:01   tid             SL
     2020-11-06 10:32:01   tst             1604655120
     2020-11-06 10:32:01   vac             0
     2020-11-06 10:32:01   vel             0
     2020-11-05 12:59:45   wtst            1541593407564
Attributes:
   IODev      MQTT_Owntracks
   icon       it_smartphone@blue
   readingList seppmobile:owntracks/Sepp/mobile:.* { json2nameValue($EVENT) }
seppmobile:owntracks/Sepp/mobile/event:.* { json2nameValue($EVENT) }
seppmobile:owntracks/owntracks/mobile:.* { json2nameValue($EVENT) }
   room       MQTT
   sortby     1

Nun zu meinem Problem: ich habe ein livetracking definiert und mit dem Mobiltelefon verknüpft, bekomme aber keine vernünftigen Daten, sondern lediglich einen Status "XML::Simple is required!"
Internals:
   CFGFN     
   FUUID      5fa51541-f33f-55a1-7f80-3e5ddf69737aa8b9
   NAME       LT_Sepp
   NOTIFYDEV  MQTT2_seppmobile
   NR         662
   NTFY_ORDER 999-LT_Sepp
   STATE      XML::Simple is required!
   TYPE       livetracking
   helper:
Attributes:
   disable    1
   owntracksDevice MQTT2_seppmobile
   room       MQTT


Irgendwie hat das bei der alten mosquitto-Installation funktioniert - jetzt bekomme ich das nicht hin. Bitte um Unterstützung !
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Hi,

na dann wird es wohl so sein :) -> das Modul XML::Simple fehlt?

https://heinz-otto.blogspot.com/2019/07/infos-zur-installation-von-modulen-und.html

debian paket libxml-simple-perl

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Danke Otto! Bis heute wusste ich nicht dass XML::simple etwas zum installieren ist (bin an dieser Ecke ein absolut Unwissender). Ich dachte nach etwas lesen das wird einfach. Ein sudo apt -y install libxml-simple-perl und das wär's gewesen. Leider ist es nicht so. Nach Restart von fhem aber auch nach reboot kommt die msg immer noch. Hab versucht um im Forum aber auch Netz Infos zu bekommen, dich ist das alles ein spanisches Dorf für mich. Bitte um eine Hilfe für complete idiots (an dieser Stelle). Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Moin,

"-y " is ein böser Schalter! Vor allem "for complete idiots" (wie Du Dich selbst bezeichnest) :)
Der verhindert das Du Fehler siehst. Hast Du anhand von meinem Artikel mal geschaut ob die Installation des Paketes jetzt erfolgt ist?
s='XML::Simple'
perl -M$s -e '' 2>/dev/null &&echo "Modul $s ist vorhanden"


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Danke Otto. Na soooo "Complete Idiot", dass ich beim install kein -y machen kann bin ich auch nicht  ;) Bei Perl allerdings schon  :-[
Ja, ich hab deinen Blog nachvollzogen. Hatte libxml-simple-perl wieder deinstalliert... Mit deiner Abfrage
s='XML::Simple'
perl -M$s -e '' 2>/dev/null &&echo "Modul $s ist vorhanden"

war keine Ausgabe. Hab das Paket danach wieder installiert und die Abfrage ergab
mod@RasPi-Server:~ $ perl -M$s -e '' 2>/dev/null &&echo "Modul $s ist vorhanden"
Modul XML::Simple ist vorhanden

Trotzdem hab ich (natürlich nach Restart von FHEM) den Status "XML::Simple is required!" im Livetracking
defmod LT_Sepp livetracking
attr LT_Sepp disable 1
attr LT_Sepp owntracksDevice MQTT2_seppmobile
attr LT_Sepp room MQTT
attr LT_Sepp stateFormat location

setstate LT_Sepp XML::Simple is required!

Bin nach wie vor ratlos, möchte dennoch nicht auf mosquitto zurücksteigen

Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Kann zu dem owntracks nicht viel sagen-aber an mqtt2 liegt das nicht. Das braucht für sich kein XML::Simple.

Hast Du mehrere Perls am laufen?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Nein, ist eine Greenfield-Installation.
Also in anderen Worten kann ich das libxml-simple-perl wieder deinstallieren ... ?

Soll ich in ein anderes sub-Forum ?
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Guten Morgen,

das Unterforum wäre das Richtige: FHEM/98_livetracking.pm      markus-m             Unterstützende Dienste
MQTT2 braucht kein XML::Simple, livetracking scheint es ja zu brauchen - sonst würde es nicht als Fehler erscheinen. Die Doku vom Modul selbst sagt leider nichts zu Abhängigkeiten aus: https://fhem.de/commandref.html#livetracking

Hab nochmal darübernachgedacht:
ZitatTrotzdem hab ich (natürlich nach Restart von FHEM) den Status "XML::Simple is required!" im Livetracking
Nach dem Restart von FHEM wird aus fhem.save der letzte Status wiederhergestellt. (setstate LT_Sepp XML::Simple is required!) Wenn der also kein aktueller ist, kann es auch eine alte Meldung sein.
Hast Du denn beim livetracking Modul den Loglevel (verbose) hochgedreht und ins Log geschaut?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Interessehalber: ist das livetracking-Device denn jetzt aktiviert? In dem list im ersten Beitrag war es noch per Attribut auf disable.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rallye

Mahlzeit !
Zitat von: Otto123 am 09 November 2020, 09:41:30
das Unterforum wäre das Richtige: FHEM/98_livetracking.pm      markus-m             Unterstützende Dienste

Danke, dann werd ich mich dorthin begeben ...
Zitat von: Otto123 am 09 November 2020, 09:41:30
Hab nochmal darübernachgedacht:Nach dem Restart von FHEM wird aus fhem.save der letzte Status wiederhergestellt. (setstate LT_Sepp XML::Simple is required!) Wenn der also kein aktueller ist, kann es auch eine alte Meldung sein.
Hast Du denn beim livetracking Modul den Loglevel (verbose) hochgedreht und ins Log geschaut?
Der Status ist aktuell und sieht derzeit so aus:
defmod LT_Sepp livetracking
attr LT_Sepp owntracksDevice MQTT2_seppmobile
attr LT_Sepp room MQTT
attr LT_Sepp stateFormat location
attr LT_Sepp verbose 5

setstate LT_Sepp XML::Simple is required!


Zitat von: Beta-User am 09 November 2020, 09:56:31
Interessehalber: ist das livetracking-Device denn jetzt aktiviert? In dem list im ersten Beitrag war es noch per Attribut auf disable.
Ja, ich habe ein "Test-livetracking" (siehe oben) welches aktiviert ist. Im Log finde ich folgende Infos
2020.11.09 14:17:06 4: MQTT2_DEVICE_Parse: MQTT2_alexandermobile owntracks/owntracks/mobile => { json2nameValue($EVENT) }
2020.11.09 14:23:58 2: AttrTemplates: got 189 entries
2020.11.09 14:24:30 3: Login denied via MQTT_Owntracks
2020.11.09 14:24:30 4: MQTT2_DEVICE_Parse: MQTT2_seppmobile owntracks/otSepp/mobile => { json2nameValue($EVENT) }
2020.11.09 14:24:30 4: WRONG MQTT TYPE $VAR1 = 't: p';

2020.11.09 14:25:27 4: MQTT2_DEVICE_Parse: MQTT2_seppmobile owntracks/otSepp/mobile => { json2nameValue($EVENT) }
2020.11.09 14:25:27 4: WRONG MQTT TYPE $VAR1 = 't: u';


NB: alexandermobile ist ein anderes Mobiltelefon.....

Werde mich später ins vorgeschlagene Forum begeben. Danke !
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

#10
Zitat von: statler am 09 November 2020, 14:34:57
Werde mich später ins vorgeschlagene Forum begeben. Danke !
Du bist "verpeilt" :) Du bist doch schon in dem (richtigen) Forum. Ich habe doch nix anderes gesagt ;)
Aber ich sehe Du bist direkt in  den Support Thread gewechselt und hast auch direkt ne Antwort bekommen 👍

ZitatLogin denied via MQTT_Owntracks
Das ist doch Dein Problem?

Was ist MQTT_Owntracks für ein Device (am einfachsten ein list davon)?
Ich lese in dem anderen Thread aus Interesse mit :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

Hi,

ich weiß nicht ob statler jetzt schon weiter gekommen ist, aber ich habe das testhalber aufgebaut und bin relativ weit.
     BTW: Das sollte dann ein/zwei attrTemplate werden ;)
Ich habe folgendes Scenario:

  • "eigene" MQTT Cloud Broker Instanz
  • owntracks auf dem Android Phone
  • MQTT2_CLIENT - Bridge regExp fehlt noch, autocreate simple
  • MQTT2_DEVICE - das automatisch angelegt ist so nicht für livetracking brauchbar
  • readingList angepasst, so das der komplette json String in ein Reading kommt
  • livetracking definiert - braucht XML::Simple
Mein Vorteil: MQTT Port im eigene Netzwerk offen.

Statler hat den MQTT2_SERVER freigeben und geschützt.
Vorteil: Keine MQTT Instanz in der Cloud und anstatt MQTT2_CLIENT - MQTT2_SERVER. Etwas einfacher?
Alles relativ :)

Aus meiner Sicht hat das livetracking Device hier nur den zusätzlichen Nutzen, dass man die Location zu einer Adresse auflösen/abfragen kann. Sehe ich da was nicht?
Ansonsten sieht das ganz gut aus. Man kann in owntracks Areale definieren und bekommt im MQTT2_DEVICE einen Event beim Betreten und Verlassen!

Mein MQTT2_DEVICE (auf die Schnelle)
defmod MQTT_OwnTracks MQTT2_DEVICE mqtt2Cloud
attr MQTT_OwnTracks IODev mqtt2Cloud
attr MQTT_OwnTracks readingList mqtt2Cloud:owntracks/clouduser/mi6:.* mi6\
mqtt2Cloud:owntracks/clouduser/mi6:.* { json2nameValue($EVENT) }\
mqtt2Cloud:owntracks/clouduser/mi6/waypoints:.* { json2nameValue($EVENT) }\
mqtt2Cloud:owntracks/clouduser/mi6/event:.* { json2nameValue($EVENT) }
attr MQTT_OwnTracks room MQTT2_DEVICE



Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Das Problem scheint zu sein, dass das "Anschlussmodul" die JSON-Daten als JSON-Blob haben will und nicht als Einzelreadings.

Sowas könnte weiterhelfen, ggf. bitte in dem anderen Thread nochmal nachhaken, ob da ein bestimmter Readingname erforderlich ist bzw. wie es angegeben werden muss:
attr MQTT_OwnTracks readingList mqtt2Cloud:owntracks/clouduser/mi6:.* mi6\
mqtt2Cloud:owntracks/clouduser/mi6:.* json_mi6\
mqtt2Cloud:owntracks/clouduser/mi6:.* { json2nameValue($EVENT) }\
mqtt2Cloud:owntracks/clouduser/mi6/waypoints:.* json_waypoints\
mqtt2Cloud:owntracks/clouduser/mi6/waypoints:.* { json2nameValue($EVENT) }\
mqtt2Cloud:owntracks/clouduser/mi6/event:.* json_event\
mqtt2Cloud:owntracks/clouduser/mi6/event:.* { json2nameValue($EVENT) }
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Otto123

Zitat von: Beta-User am 10 November 2020, 11:57:46
Das Problem scheint zu sein, dass das "Anschlussmodul" die JSON-Daten als JSON-Blob haben will und nicht als Einzelreadings.
Ist so :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

ok, aber der "json-Eintrag" war ja auch (für den relevanten Teil (?) mi6) schon vorhanden, hatte ich leider übersehen... ::)

Bin grade dabei, was dazu ins Wiki/Praxisbeispiele/allgemeine hinweise einzuarbeiten, kommt doch hin und wieder vor...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files