Autor Thema: Mobile Alerts  (Gelesen 736 mal)

Offline Hanneck

  • New Member
  • *
  • Beiträge: 30
Mobile Alerts
« am: 08 November 2016, 22:39:59 »
Hallo Leute,


ich bin schon längere Zeit ein großer Mitleser von Fhem im Forum und habe auch die ersten Erfolge erzielt, doch leider stößt man schnell auch auf Probleme.
Da hier sehr kompetente Leute, den weniger wissenden unter die Arme greifen, habe ich mich endlich mal entschlossen auch mal Hilfe in Anspruch zu nehmen.

Ich habe mehrere Mobile Alerts Sensoren in mein System eingebunden bekommen. Auch die Umsetzung von Komma in Punkt bei der Temperaturanzeige hab eich hinbekommen. Leider wird im State die nach Komma Stelle nicht richtig angezeigt. Ist immer Null.
z.Beispiel

Readings
FEUCHTIGKEIT   88 2016-11-08 21:43:02
TEMP   0,8   2016-11-08 21:43:02

aber im
STATE
0.0 Grad, Feuchtigkeit 87.0 % obwohl 0.8 Grad richtig wären




define SENSOR_Garten HTTPMOD http://measurements.mobile-alerts.eu/Home/SensorsOverview?phoneid=989580483762
attr SENSOR_Garten userattr event-on-change-reading icon reading01Name reading01Regex reading02Name reading02Regex requestData requestHeader1 stateFormat
attr SENSOR_Garten icon temperature_humidity
attr SENSOR_Garten reading01Name TEMP
attr SENSOR_Garten reading01Regex <h4>xxxxxxxxxxx<\/h4>\s+<\>\s+<\>\s+<div class="nofloat"><\>\s+<div class="sensor-component">\s+<h5>Zeitpunkt<\/h5>\s+<h4>.*?<\/h4>\s+<\>\s+<div class="sensor-component">\s+<h5>Temperatur<\/h5>\s+<h4>+([0-9\,]+)
attr SENSOR_Garten reading02Name FEUCHTIGKEIT
attr SENSOR_Garten reading02Regex (?s)<h4>xxxxxxxxxx.*?<h4>.*?<h4>.*?<h4>([\-\d\.]+)
attr SENSOR_Garten room Draussen,Sensoren,Temperatur und Luftfeuchtigkeit
attr SENSOR_Garten stateFormat {sprintf("%.1f Grad, Feuchtigkeit %.1f %", ReadingsVal($name,"TEMP",0), ReadingsVal($name,"FEUCHTIGKEIT",0))}


Wo könnte da bei mir der Fehler liegen. Bin für jede hilfreiche Antwort Dankbar.


Jeder muss einen mal einen Schritt weiter gehen und den Wissenden finden und fragen.


Grüße Dieter
« Letzte Änderung: 10 November 2016, 17:56:38 von Hanneck »

Offline costa2

  • Jr. Member
  • **
  • Beiträge: 70
Antw:Mobile Alerts
« Antwort #1 am: 18 November 2016, 14:56:24 »
Versuch mal, bei mir läuft es so:

define SENSOR_AUSSEN HTTPMOD http://measurements.mobile-alerts.eu/Home/SensorsOverview?phoneid=xxxxxxxxxxxxxx 420
attr SENSOR_AUSSEN userattr event-on-change-reading event-on-update-reading fp_Grafiken fp_Klima fp_Temperatur fp_room icon reading01Name reading01OExpr reading01Regex reading02Name reading02Regex requestData requestHeader1 stateFormat
attr SENSOR_AUSSEN alias Aussentemperatur im Schatten
attr SENSOR_AUSSEN event-on-update-reading .*
attr SENSOR_AUSSEN fp_Klima 122,390,1,,
attr SENSOR_AUSSEN icon temp_outside
attr SENSOR_AUSSEN reading01Name Temperatur
attr SENSOR_AUSSEN reading01OExpr $val =~ s/,/\./;; $val;;
attr SENSOR_AUSSEN reading01Regex (?s)<h4>xxxxxxxxxx.*?<h4>.*?<h4>([\-\d\d\,\d]+)
attr SENSOR_AUSSEN reading02Name Luftfeuchtigkeit
attr SENSOR_AUSSEN reading02Regex (?s)<h4>xxxxxxxxxx.*?<h4>.*?<h4>.*?<h4>(\d\d)
attr SENSOR_AUSSEN requestHeader1 Content-Type: application/x-www-form-urlencoded
attr SENSOR_AUSSEN room Temperatur und Luftfeuchtigkeit,all
attr SENSOR_AUSSEN stateFormat {sprintf("%.1f Grad C, Feuchte %.1f %%", ReadingsVal($name,"Temperatur",0), ReadingsVal($name,"Luftfeuchtigkeit",0))}


define LOG.SENSOR_AUSSEN FileLog ./log/S_SENSOR_AUSSEN-%Y-%m.log SENSOR_AUSSEN:Luftfeuchtigkeit:.*|SENSOR_AUSSEN:.*|SENSOR_AUSSEN:Temperatur:.*|SENSOR_AUSSEN:h:.*|SENSOR_AUSSEN:t1:.*
attr LOG.SENSOR_AUSSEN logtype text
attr LOG.SENSOR_AUSSEN room LogFiles

define avg_temp_SENSOR_AUSSEN average .*:Temperatur.*
define SVG_LOG.SENSOR_AUSSEN_1 SVG LOG.SENSOR_AUSSEN:SVG_LOG.SENSOR_AUSSEN_1:CURRENT
attr SVG_LOG.SENSOR_AUSSEN_1 fp_Grafiken 50,200,1

Gruß,
Volker

Offline Hanneck

  • New Member
  • *
  • Beiträge: 30
Antw:Mobile Alerts
« Antwort #2 am: 20 November 2016, 18:50:21 »
Hallo Costa,

Danke für die Antwort-bin zu dem gleichen Ergebnis nach vielem lesen und probieren gekommen.

define SENSOR_Hof HTTPMOD http://measurements.mobile-alerts.eu/Home/SensorsOverview?phoneid=xxxxxxxx3762
attr SENSOR_Hof userattr event-on-change-reading icon reading01Expr reading01Name reading01Regex reading02Name reading02Regex requestData requestHeader1 stateFormat
attr SENSOR_Hof icon temperature_humidity
attr SENSOR_Hof reading01Expr $val =~ s/,/\./;; $val;;
attr SENSOR_Hof reading01Name TEMP
attr SENSOR_Hof reading01Regex <h4>xxxxxxxxxxF9<\/h4>\s+<\/div>\s+<\/div>\s+<div class="nofloat"><\/div>\s+<div class="sensor-component">\s+<h5>Zeitpunkt<\/h5>\s+<h4>.*?<\/h4>\s+<\/div>\s+<div class="sensor-component">\s+<h5>Temperatur<\/h5>\s+<h4>+([0-9\,]+)


attr SENSOR_Hof reading02Name FEUCHTIGKEIT
attr SENSOR_Hof reading02Regex (?s)<h4>xxxxxxxxxxF9.*?<h4>.*?<h4>.*?<h4>([\-\d\.]+)
attr SENSOR_Hof room Innen,Sensoren,Temperatur und Luftfeuchtigkeit
attr SENSOR_Hof stateFormat {sprintf("%.1f Grad, Feuchtigkeit %.1f %", ReadingsVal($name,"TEMP",0), ReadingsVal($name,"FEUCHTIGKEIT",0))}
define FileLog_SENSOR_Hof FileLog ./log/Hof-%Y.log Hof|SENSOR_Hof:FEUCHTIGKEIT:.*|SENSOR_Hof:TEMP:.*
attr FileLog_SENSOR_Hof room Plots,Sensoren
define SVG_FileLog_SENSOR_Hof_1 SVG FileLog_SENSOR_Hof:SVG_FileLog_SENSOR_Hof_1:CURRENT
attr SVG_FileLog_SENSOR_Hof_1 room Plots,Sensoren
define SVG_FileLog_SENSOR_Hof_2 SVG FileLog_SENSOR_Hof:SVG_FileLog_SENSOR_Hof_2:CURRENT

Ich dachte schon ich bin mit Mobile Alert allein geblieben.
Wie zufrieden bist du damit?

Gruß Dieter
« Letzte Änderung: 20 November 2016, 18:52:07 von Hanneck »

Offline costa2

  • Jr. Member
  • **
  • Beiträge: 70
Antw:Mobile Alerts
« Antwort #3 am: 24 November 2016, 22:24:01 »
Hallo Dieter.

Mit Mobile Alerts in Verbindung mit Fhem bin ich voll und ganz zufrieden.
Die Original App ist allerdings immer noch eine Katastrophe.

Volker

Offline mfritze

  • New Member
  • *
  • Beiträge: 4
Antw:Mobile Alerts
« Antwort #4 am: 26 Juni 2017, 13:55:29 »
Ok, ich habe endlich Zeit gefunden meine Sammlung von ELV Mobile Alerts Dokumenten online zu stellen.

Dies ist eine wohl annähernd vollständige Dokumentation aller Sensoren, inklusive der Cloud- und Gateway-Protokolle und einem node.js Beispielserver.

Mit der Dokumentation kann man alle Daten aus der Cloud downloaden, wie es die Programme tun, oder sogar ganz verhindern, das das Gateway irgendwas in die Cloud hochlädt. Die Sensordaten werden anstelle dessen via MQTT im eigenen Netz weitergeleitet. Dann funktioniert allerdings das Mobile Alerts Programm nicht mehr, weil ja halt keine Daten in der Cloud landen. Das kann man via FHEM natürlich selbst besser lösen.

Hier die Infos https://github.com/sarnau/MMMMobileAlerts
Beitrag editieren

Offline costa2

  • Jr. Member
  • **
  • Beiträge: 70
Antw:Mobile Alerts
« Antwort #5 am: 14 September 2017, 12:37:41 »
Hallo.

Ich habe den maserver mal installiert, nach Ausführen von npm install kam schon flgende Fehlermeldung:

npm WARN MobileAlertsSensorServer@1.0.0 No repository field.

Dann nach dem Start:

pi@raspberrypi:/opt/fhem/maserver $ node mobilealerts.js
/opt/fhem/maserver/localIPv4Address.js:11
    var addresses = 192.168.0.20; 192.168.0.6;
                           ^^

SyntaxError: Unexpected number
    at createScript (vm.js:74:10)
    at Object.runInThisContext (vm.js:116:10)
    at Module._compile (module.js:588:28)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/fhem/maserver/mobilealerts.js:25:25)
pi@raspberrypi:/opt/fhem/maserver $

Müssen die Dateien noch irgendwie angepasst werden?

Für eine Schritt für Schritt Anleitung wäre ich dankbar.

Gruß,
Volker
« Letzte Änderung: 14 September 2017, 15:01:54 von costa2 »

Offline costa2

  • Jr. Member
  • **
  • Beiträge: 70
Antw:Mobile Alerts
« Antwort #6 am: 14 September 2017, 15:16:25 »
Bin etwas weiter gekommen.
Das Ganze noch einmal neu installiert.

pi@raspberrypi:/opt/fhem/maserver $ npm install
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN MobileAlertsSensorServer@1.0.0 No repository field.

added 127 packages in 22.662s
pi@raspberrypi:/opt/fhem/maserver $ npm WARN MobileAlertsSensorServer@1.0.0 No repository field.

Usage: npm <command>

where <command> is one of:
    access, adduser, bin, bugs, c, cache, completion, config,
    ddp, dedupe, deprecate, dist-tag, docs, doctor, edit,
    explore, get, help, help-search, i, init, install,
    install-test, it, link, list, ln, login, logout, ls,
    outdated, owner, pack, ping, prefix, prune, publish, rb,
    rebuild, repo, restart, root, run, run-script, s, se,
    search, set, shrinkwrap, star, stars, start, stop, t, team,
    test, tst, un, uninstall, unpublish, unstar, up, update, v,
    version, view, whoami

npm <command> -h     quick help on <command>
npm -l           display full usage info
npm help <term>  search for help on <term>
npm help npm     involved overview

Specify configs in the ini-formatted file:
    /home/pi/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config

npm@5.3.0 /usr/lib/node_modules/npm
pi@raspberrypi:/opt/fhem/maserver $ node mobilealerts.js
### Local IP address for proxy: 192.168.0.20
{ Error: ENOENT: no such file or directory, open 'lastSensorMessages.json'
    at Object.fs.openSync (fs.js:653:18)
    at Object.fs.readFileSync (fs.js:554:33)
    at Object.<anonymous> (/opt/fhem/maserver/mobilealerts.js:112:30)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at startup (bootstrap_node.js:201:16)
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: 'lastSensorMessages.json' }
### MQTT server is connected
Mobile-Alert Gateway : 001d8c0de5d5
Name         : MOBILE-ALERTS-Gatewa
Use DHCP       : true
DHCP IP        : 192.168.0.15
Fixed IP       : 192.168.0.15
DHCP Netmask     : 255.255.255.0
Fixed DNS IP     : 192.168.0.1
Fixed Gateway      : 192.168.0.1
Use Proxy        : false
Proxy Server Name    : 192.168.0.6
Proxy Port       : 8003
Data Server Name   : www.data199.com
### Update Mobile Alerts Gateway Proxy Settings
undefined 'MobileAlerts/020a3739d217/json' '{"temperature":[12.5,12.5],"id":"020a3739d217","t":"2017-09-14T13:01:01.000Z","offline":false}'
undefined 'MobileAlerts/02083fb10bac/json' '{"temperature":[22,21.9],"id":"02083fb10bac","t":"2017-09-14T13:01:57.000Z","offline":false}'
undefined 'MobileAlerts/0315a0114432/json' '{"temperature":[15,14.9],"humidity":[71,71],"id":"0315a0114432","t":"2017-09-14T13:05:06.000Z","offline":false}'
undefined 'MobileAlerts/020a3739d217/json' '{"temperature":[12.6,12.5],"id":"020a3739d217","t":"2017-09-14T13:08:05.000Z","offline":false}'
undefined 'MobileAlerts/022bd216fd85/json' '{"temperature":[14.4,14.1],"id":"022bd216fd85","t":"2017-09-14T13:08:53.000Z","offline":false}'
undefined 'MobileAlerts/02083fb10bac/json' '{"temperature":[22.1,22],"id":"02083fb10bac","t":"2017-09-14T13:08:59.000Z","offline":false}'


Wie bekomme ich die Daten nun in FHEM?
« Letzte Änderung: 14 September 2017, 15:46:16 von costa2 »

Offline costa2

  • Jr. Member
  • **
  • Beiträge: 70
Antw:Mobile Alerts
« Antwort #7 am: 15 September 2017, 11:05:35 »
Beim zweiten Start sind nun auch die Fehlermeldungen verschwunden.

pi@raspberrypi:~ $ cd /opt/fhem/maserver
pi@raspberrypi:/opt/fhem/maserver $ node mobilealerts.js
### Local IP address for proxy: 192.168.0.20
### MQTT server is connected
Mobile-Alert Gateway : 001d8c0de5d5
Name         : MOBILE-ALERTS-Gatewa
Use DHCP       : true
DHCP IP        : 192.168.0.15
Fixed IP       : 192.168.0.15
DHCP Netmask     : 255.255.255.0
Fixed DNS IP     : 192.168.0.1
Fixed Gateway      : 192.168.0.1
Use Proxy        : false
Proxy Server Name    : 192.168.0.20
Proxy Port       : 8080
Data Server Name   : www.data199.com
### Update Mobile Alerts Gateway Proxy Settings
undefined 'MobileAlerts/022bd216fd85/json' '{"temperature":[14,13.8],"id":"022bd216fd85","t":"2017-09-15T08:57:59.000Z","offline":false}'
### Offline state  undefined {"temperature":[10.4,10.4],"id":"022bd216fd85","t":"2017-09-14T18:11:26.000Z","offline":true}
undefined 'MobileAlerts/02083fb10bac/json' '{"temperature":[22,22.2],"id":"02083fb10bac","t":"2017-09-15T08:58:08.000Z","offline":false}'



Werden die Datensätze nun irgendwo gespeichert, so dass ich sie von FHEM aus abrufen kann?

Gruß,
Volker
« Letzte Änderung: 15 September 2017, 11:07:13 von costa2 »