Integration von MySensors in FHEM geplant?

Begonnen von fh555, 06 September 2014, 00:40:58

Vorheriges Thema - Nächstes Thema

Hauswart

Hallo Jörg, danke für deinen Beispielcode. Leider ist dieser Code halt statisch und muss für jeden Temperatur-Sensor angepasst werden. Ich finde den Sketch sehr interessant, kannst du uns mehr zum Aufbau / den Hintergründen erzählen?

PS: Mein Sketch soll on the fly die DS18B20 ID zusammen mit den Temperaturen ausgeben, leider hatte ich dieses WE keine Zeit daran zu arbeiten.




PS: Seit heute sollte es in FHEM ein kleines MySensors-Update geben. Danach sollten auch die ganzen Sketches, welche Informationen von FHEM erhalten, funktionieren.
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Omega

Neugierde wird bestraft. Nach dem Update habe ich folgende Fehlermeldungen:

Messages collected while initializing FHEM:
configfile: Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE

und meine ganzen Definitionen der Sensoren sind nicht mehr vorhanden bzw. werden nicht mehr angezeigt.
Die Gateways sind aber noch alle da.
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

borzo83

Zitat von: Omega am 29 Februar 2016, 10:32:08
Neugierde wird bestraft. Nach dem Update habe ich folgende Fehlermeldungen:

Messages collected while initializing FHEM:
configfile: Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE

und meine ganzen Definitionen der Sensoren sind nicht mehr vorhanden bzw. werden nicht mehr angezeigt.
Die Gateways sind aber noch alle da.

Dito, bei mir auch das gleiche :(

Hauswart

1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Sany

Hallo zusammen,

bei mir das gleiche Verhalten: nach Update alle MySensor Definitionen weg und etliche Fehlermeldungen. Dies erschien im Log nach dem ersten Neustart nach Update:
2016.02.29 09:33:44 1: reload: Error:Modul 10_MYSENSORS_DEVICE deactivated:
Bareword "VAR1" not allowed while "strict subs" in use at ./FHEM/10_MYSENSORS_DEVICE.pm line 86, <$fh> line 1985.

2016.02.29 09:33:44 0: Bareword "VAR1" not allowed while "strict subs" in use at ./FHEM/10_MYSENSORS_DEVICE.pm line 86, <$fh> line 1985.


Ein update force in der ersten Verzweiflung brachte auch nichts. Das Modul 10_MYSENSORS_DEVICE wird nicht geladen, ergo fliegen die ganzen Devices raus und interaktionen erzeugen Fehlermeldungen.

Habe dann 10_MYSENSORS_DEVICE, 00_MYSENSORS und die fhem.cfg vom Backup davor zurückgespielt und alles läuft wieder.

Vielleicht hilft das bei der Fehlerbeseitigung.

Viele Grüße
fhem auf nipogi Mini PC als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

ntruchsess

#665
schreib mal in der 10_MYSENSORS_DEVICE.pm in Zeile 100 vor das VAR1 ein 'V_'.

Also statt:

S_POWER                 => { receives => [V_VAR1], sends => [V_WATT,V_KWH,VAR1] }, # Power measuring device, like power meters

richtig:

S_POWER                 => { receives => [V_VAR1], sends => [V_WATT,V_KWH,V_VAR1] }, # Power measuring device, like power meters


@Hauswart: testest Du Deine Patches eigentlich, bevor Du sie submittest?  ;)
while (!asleep()) {sheep++};

fh168

gleiches Problem hier.
configfile: Cannot load module MYSENSORS_DEVICE
Cannot load module MYSENSORS_DEVICE
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

Hauswart

Zitat von: ntruchsess am 29 Februar 2016, 11:40:56
@Hauswart: testest Du Deine Patches eigentlich, bevor Du sie submittest?  ;)
Eigentlich ja, verstehe auch nicht wie mir dieser Fehler durch die Lappen gegangen sein konnte. :)

Diese Version sollte funktionieren: https://raw.githubusercontent.com/Kolbi/fhem-mirror/master/fhem/FHEM/10_MYSENSORS_DEVICE.pm - kann sie leider nur gerade nicht selbst testen... :/
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

ntruchsess

ich kann es auch erst heute abend ins SVN übernehmen...
while (!asleep()) {sheep++};

Beta-User

Hallo Hauswart,

Danke für die Rückmeldung; das mit der direkten Rückmeldung der Sensoradresse an FHEM wäre toll, das würde einiges erleichtern, wie überhaupt die Möglichkeit, zwischen Sensoren und FHEM Infos hin- und herzuschieben (s.u.). Auch für mein Problem würde es manches erleichtern. So habe ich manche Schwellenwerte direkt einprogrammiert und muß jedes mal wieder den Arduino wechseln, wenn ich was neues ausprobieren möchte...

Der Sketch soll etwas intelligenter sein, als eine "normale" Sensor-Node. Generell geht es um Infos und Aktionen rund um meine Therme, die zudem leider nach dem Wechsel der Fenster etwas überdimensioniert ist.

Es hängen dran:
- 5 DS-Temp-Sensoren (Ziel: Ablösung des 1-W-USB-Controllers, also noch drei)
- Gaszähler
- Ein Relay
- Ein Servo

Soweit erklärungsbedürftig:

- Mit dem Relay schalte ich meine Zirkulationspumpe fürs Warmwasser ein bzw. aus. Zum einen über FHEM (zeitgesteuert mit Urlaubsfunktion usw.), zum anderen prüfe ich kurzzyklisch, ob die WW-Temperatur schnell gestiegen ist, was dann als WW-Anforderung gedeutet wird. Habe ich dann wieder WW an der Pumpe (also im Rückfluß), kann die Pumpe auch wieder ausgeschaltet werden; FHEM bekommt dann jeweils nur die Info, was der Stand der Dinge ist...

- Mit dem Servo kann ich die intern verbaute Zirkulationspumpe umschalten. Die ist 3-stufig, wobei ich festgestellt habe, dass es für die "normale" Heizfunktion in der Regel besser ist, sie so weit als möglich zu drosseln, dann moduliert die Therme besser und geht nicht dauern ein und aus. Nur die Heizkurve anzupassen war jedenfalls insoweit nicht hinreichend.
Als FHEM-ler will man aber nicht immer in den Keller, wenn sich das Wetter ändert, um die Abdeckung der Therme abzuschrauben und so einen doofen Regler wieder umzustellen, daher die Idee mit dem Servomotor am Regler :-*. Das war/ist zunächst nur außentemperaturabhängig über FHEM.
Nachdem das soweit funktioniert hatte, habe ich allerdings festgestellt, dass ein häufigeres Umschalten jedenfalls dann Sinn zu machen scheint, wenn ich WW mache. Sonst kommen sich Heizen und WW-Bereitung in die Quere. Von daher wäre es das nächste Ziel, auch automatisiert auf die diesbezüglichen Rahmenbedingungen zu reagieren. Das verbirgt sich hinter dem auskommentierten Teil. Da das aber WAF-sensibel ist und ich besser auch länger vor Ort bin (=WE), bin ich da noch nicht recht weitergekommen.
Da wäre auch der "Rückkanal" hilfreich, denn statt selbst schalten, könnte der Arduino auch melden: Hey FHEM, ich denke es wäre jetzt sinnvoll, Stufe x zu schalten und dann auf die Reaktion zu warten.

Hoffe, das ist nachvollziehbar,

Jörg
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

Sany

Habe die von Hauswart 3 Posts oberhalb bereitgestellte 10_MYSENSORS_DEVICE.pm mal ausprobiert: funktioniert wie gewünscht.
Ein neuer Sensor, der eine S_CUSTOM Definition hat, wird erkannt und alle 5 Variablen V_VAR1...5 als setreadings eingebaut.

fhem auf nipogi Mini PC als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

ntruchsess

while (!asleep()) {sheep++};

Omega

Ich fände es gut, wenn in den Internals der Devices nicht nur die "radioId" aufgeführt wird sondern auch noch der verwendete Kanal (festgelegt durch #define MY_RF24_CHANNEL 83). Das wäre hilfreich beim Fehler suchen, falls man mehrere Gateways mit unterschiedlichen Kanälen verwendet zusammen mit Sensoren, die zwar denselben Sketch enthalten, aber mit unterschiedlichen Kanälen verwendet werden.

LG
Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Pythonf

Ich habe einen Arduino Nano mit dem Sketch fürs Serial Gateway von mysensors.org bespielt und in Fhem folgerndermaßen eingebunden:
Internals:
   DEF        /dev/ttyUSB0
   DeviceName /dev/ttyUSB0
   FD         45
   NAME       mySensorsIO
   NOTIFYDEV  global
   NR         145
   NTFY_ORDER 50-mySensorsIO
   PARTIAL    �+�:���1���Q�a��Ea<�)za�zِl`�q˴aZ-zq��|y9jh�x���ِ%��iq]��&ޟِlz��iy��|izny��y8勔A��
   STATE      connected
   TYPE       MYSENSORS
   ack        0
   inclusion-mode 1
   outstandingAck 0
   Readings:
     2016-03-09 13:18:19   connection      connected
     2016-03-09 13:18:19   state           opened
Attributes:
   room       IOs
   stateFormat connection


Auf einem zweiten Nano hab ich das Sketch für den DHT22 Luftfeuchte aufgespielt. Wenn ich das richtig verstanden habe, dann müsste ich, wenn ich den inclusion-mode aktiviere und den Luftfeuchtigkeitsnano resete automatisch den Sensor in  FHEM eingebunden haben? Leider tut sich absolut garnichts.
Das attribut autocreate ändert ebenfalls nichts.
Am Seriellen Monitor des Luftfeuchtigkeitsskechtes bekomme ich allerdings auch merkwürdige ausgaben:
(áÔ®X´%)°&øÌ/ôƒ¡Ð|2:&OAZ,8§{Z¹r|aXè˜X
Was kann da falsch laufen?

Beste Grüße
Fabian

Beta-User

Hallo Fabian,

als relativer Mysensors- und Arduino-Neuling würde ich auf einen Fehler beim Flashen des Arduino tippen. Ich hatte auch gelegentlich ähnliche Effekte bei meinen ersten Geh-Versuchen. An sich sollte der Sensor lesbaren Text auf die Konsole bringen, zumindest wenn Du einen der Beispiel-Sketche verwendet hast.

Ich würde also als erstes nochmal probieren, den Sketch neu hochzuladen. Sofern das (noch) nichts bringt, könntest Du für die Fehlersuche zusätzlich noch eine reine Repeater-Node zusammenstöpseln. Damit läßt sich die Funktionalität des GW testen und dessen Zusammenspiel mit fhem. Der Repeater sollte wie von Dir beschrieben automatisch angelegt werden. Über dessen serielle Konsole kannst Du dann sehen, was Dein Feuchtesensor so funkt.

Bei mir war auch die recht geringe Funk-Reichweite der ersten meiner Modelle ein Problem, allerdings hatte ich es gleich mit 2 Stockwerksdecken probiert. Das wurde erst nach einen Austausch auf verstärkte Nordics mit Antenne besser (evtl. hätten es auch zwei Stück angelöteter Draht getan)...

Viel Erfolg!

Jörg
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