Integration von MySensors in FHEM geplant?

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

Vorheriges Thema - Nächstes Thema

neonet

#555
Hi,

hat einer von euch schon versucht, den AirQualitySensor-Sketch, in Fhem einzubinden  ? Ich verwende als Sensor den MQ-2. Wenn ich das Gateway, den Sensor einbinden lassen, erstellt das autoscript folgendes.


define MYSENSOR_111 MYSENSORS_DEVICE 111
attr MYSENSOR_11 IODev gateway
attr MYSENSOR_PIRWoh mapReading_level 1 level
attr MYSENSOR_PIRWoh mode node
attr MYSENSOR_PIRWoh version 1.5


Wie ihr seht bindet das Script nur Level ein. Es müsste aber :


#define         GAS_LPG                      (0)
#define         GAS_CO                       (1)
#define         GAS_SMOKE                    (2)


einbinden. Und dieses in als Graph. (LPGCurve ,COCurve[3]  , SmokeCurve[3]).

Hat wer eine Idee wie ich die Config erweitern muss ? Bzw. müsste ich auch was am MYSENSOR-Modul ändern ?

Vielen Dank für die Hilfe

Hauswart

Zitat von: neonet am 17 November 2015, 11:16:22
Hi,

hat einer von euch schon versucht, den AirQualitySensor-Sketch, in Fhem einzubinden  ? Ich verwende als Sensor den MQ-2. Wenn ich das Gateway, den Sensor einbinden lassen, erstellt das autoscript folgendes.


define MYSENSOR_111 MYSENSORS_DEVICE 111
attr MYSENSOR_11 IODev gateway
attr MYSENSOR_PIRWoh mapReading_level 1 level
attr MYSENSOR_PIRWoh mode node
attr MYSENSOR_PIRWoh version 1.5


Wie ihr seht bindet das Script nur Level ein. Es müsste aber :


#define         GAS_LPG                      (0)
#define         GAS_CO                       (1)
#define         GAS_SMOKE                    (2)


einbinden. Und dieses in als Graph. (LPGCurve ,COCurve[3]  , SmokeCurve[3]).

Hat wer eine Idee wie ich die Config erweitern muss ? Bzw. müsste ich auch was am MYSENSOR-Modul ändern ?

Vielen Dank für die Hilfe

Ich muss dich enttäuschen es wird nur folgendes gesendet:
MyMessage msg(CHILD_ID_MQ, V_LEVEL);
https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/examples/AirQualitySensor/AirQualitySensor.ino

Den ganzen AirQualitySensor habe ich noch nicht 100% verstanden :D fh555 (Robin) hat es hier mit einem Display gelöst: http://blog.moneybag.de/gassensor-mq-7-mit-lcd-display-und-arduino-nano/ -es soll wohl tatsächlich immer nur eine Zahl entstehen. Die eine Zahl ist wohl irgendwie ein Produkt aus den ganzen einzelnen Faktoren. Leider kann man aber nicht differenzieren zwischen CO, Rauch und LPG... ausser ich verstehe es falsch  ;)
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

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

SvenJust

#557
Hallo!

Zitat von: Hauswart am 17 November 2015, 12:18:21
Ich muss dich enttäuschen es wird nur folgendes gesendet:
MyMessage msg(CHILD_ID_MQ, V_LEVEL);
https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/examples/AirQualitySensor/AirQualitySensor.ino

Den ganzen AirQualitySensor habe ich noch nicht 100% verstanden :D fh555 (Robin) hat es hier mit einem Display gelöst: http://blog.moneybag.de/gassensor-mq-7-mit-lcd-display-und-arduino-nano/ -es soll wohl tatsächlich immer nur eine Zahl entstehen. Die eine Zahl ist wohl irgendwie ein Produkt aus den ganzen einzelnen Faktoren. Leider kann man aber nicht differenzieren zwischen CO, Rauch und LPG... ausser ich verstehe es falsch  ;)

In dem mysensors Sketch wird nur der GAS_CO Wert übermittelt. Die weiteren Werte werden nur auf die serielle Console geschrieben, es findet (soweit ich sehe) keine Berechnung zu einem Wert statt.

Der Sourcecode für mysensors stammt von http://sandboxelectronics.com/?p=165. Hier erfolgt die Ausgabe der Einzelwerte.


VG
Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Hauswart

Zitat von: SvenJust am 17 November 2015, 13:24:33
Hallo!

In dem mysensors Sketch wird nur der GAS_CO Wert übermittelt. Die weiteren Werte werden nur auf die serielle Console geschrieben, es findet (soweit ich sehe) keine Berechnung zu einem Wert statt.

Der Sourcecode für mysensors stammt von http://sandboxelectronics.com/?p=165. Hier erfolgt die Ausgabe der Einzelwerte.

Eigentlich hätte ein kurzer Blick in den Code mir ausreichen müssen  :P
uint16_t valMQ = MQGetGasPercentage(MQRead(MQ_SENSOR_ANALOG_PIN)/Ro,GAS_CO);
gw.send(msg.set((int)ceil(valMQ)));
8)

Eigentlich könnte man den Sketch auch umschreiben, so dass alle Werte übertragen werden können....
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

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

neonet

Ich versuche es gleich mal aber das ist dann mehr Try and Error. Wenn es einer besser kann , wäre es natürlich vamos :-).

Hauswart

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

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

neonet

#561

AirQualitySensor:103: error: 'CHILD_ID_LPG' was not declared in this scope
AirQualitySensor:104: error: 'CHILD_ID_SMOKE' was not declared in this scope


Warum kann man nicht für alle drei
#define    CHILD_ID_MQ  nehmen ?


Nachtrag:
ich habe  jetzt als CHILD_ID für alle drei Werte CHILD_ID_MQ genommen

Das kommt dann mit dem auto-script:


define MYSENSOR_102 MYSENSORS_DEVICE 102
attr MYSENSOR_102 IODev gateway
attr MYSENSOR_102 mapReading_level 0 level
attr MYSENSOR_102 mapReading_unitprefix 0 unitprefix
attr MYSENSOR_102 mapReading_value1 0 value1
attr MYSENSOR_102 mapReading_value2 0 value2
attr MYSENSOR_102 mapReading_value3 0 value3
attr MYSENSOR_102 mapReading_value4 0 value4
attr MYSENSOR_102 mapReading_value5 0 value5
attr MYSENSOR_102 mode node
attr MYSENSOR_102 version 1.5

Hauswart

#562
Zitat von: neonet am 17 November 2015, 16:34:31

AirQualitySensor:103: error: 'CHILD_ID_LPG' was not declared in this scope
AirQualitySensor:104: error: 'CHILD_ID_SMOKE' was not declared in this scope


Warum kann man nicht für alle drei
#define    CHILD_ID_MQ  nehmen ?
Haben den Fehler korrigiert. Du wirst ansonsten mit dem Daten übertragen wahrscheinlich Probleme bekommen: http://www.mysensors.org/download/sensor_api_15


Edit: Habe noch einmal etwas angepasst.

Sollte so hoffentlich gehen:
https://github.com/Kolbi/Arduino/blob/9edc228b1c8b3f63968f0a731d9341dea0aa3b40/libraries/MySensors/examples/AirQualitySensor/AirQualitySensor.ino

Ansonsten:
https://github.com/Kolbi/Arduino/blob/777f0d28f3914b5f9e0c37a7089fb005d391227a/libraries/MySensors/examples/AirQualitySensor/AirQualitySensor.ino
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

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

neonet

Leider bei beiden immer noch ein Fehler:


AirQualitySensor:92: error: 'CHILD_ID_LPG' was not declared in this scope
AirQualitySensor.ino: In function 'void setup()':
AirQualitySensor:107: error: 'CHILD_ID_LPG' was not declared in this scope
'CHILD_ID_LPG' was not declared in this scope




Hauswart

Zitat von: neonet am 18 November 2015, 12:37:57
Leider bei beiden immer noch ein Fehler:


AirQualitySensor:92: error: 'CHILD_ID_LPG' was not declared in this scope
AirQualitySensor.ino: In function 'void setup()':
AirQualitySensor:107: error: 'CHILD_ID_LPG' was not declared in this scope
'CHILD_ID_LPG' was not declared in this scope



Jetzt sollte es aber: https://github.com/Kolbi/Arduino/blob/master/libraries/MySensors/examples/AirQualitySensor/AirQualitySensor.ino

Hatte mich vertippt LPQ anstatt LPG  :P
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

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

Hauswart

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

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

neonet

Jetzt funktioniert es aber Fhem empfängt keine Werte bzw. immer nur 0 für jedes Level. Ich teste gleich mal nur den Sensor ohne MySensor.

Hauswart

Zitat von: neonet am 19 November 2015, 13:14:10
Jetzt funktioniert es aber Fhem empfängt keine Werte bzw. immer nur 0 für jedes Level. Ich teste gleich mal nur den Sensor ohne MySensor.

Falls du den Sensor mal Seriell auslesen könntest, wäre es super :) Dann wissen wir, ob die Werte an sich falsch sind, oder ob FHEM die falschen Werte bekommt.
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

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

SvenJust

Zitat von: Hauswart am 19 November 2015, 13:28:38
Falls du den Sensor mal Seriell auslesen könntest, wäre es super :) Dann wissen wir, ob die Werte an sich falsch sind, oder ob FHEM die falschen Werte bekommt.
Am Besten im Sensor das Debugging einschalten, dann gibt es die Ausgaben auf die serielle Console, auch die Sendeinformationen. Dazu in der Datei MyConfig.h das #define DEBUG nicht auskommentieren, also Kommentarzeichen entfernen.

VG
Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Omega

Juchu,

mein 1. Sensor (DHT22) läuft mit dem ESP8266-Gateway und zeigt mir nachvollziehbare Daten an  ;D ;D ;D.
Danke den fleißigen Vordenkern. Ohne euch hätte ich es nicht geschafft!  :-*

Eine Grundsatzfrage treibt mich aber noch um: am Anfang des nun doch etwas längeren Treads wird noch viel über MQTT gesprochen. In wie weit ist das überhaupt für diese Anwendung (MySensors) noch notwendig bzw. sinnvoll?

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