mySensors Temperaturfühler einrichten

Begonnen von Fifi, 24 Januar 2015, 21:25:37

Vorheriges Thema - Nächstes Thema

Fifi

Hallo, ich bin ganz neu bei fhem und versuche mySensors Sensoren einzubinden. Ein Ethernet-Gateway ist drin:
define Sensoren MYSENSORS 192.168.133.28:5003
attr Sensoren stateFormat connection
Es wird auch als "connected" angezeigt.

Einen Sensor (Tempsensor mit DS18B20) versuche ich einzubinden:
define TempTest MYSENSORS_DEVICE S_TEMP 100
attr TempTest IODev Sensoren
attr TempTest setReading_.+ 1

Dieser wird in der Übersicht mit ??? angezeigt.
Über Seriel gibt er aus (die Kommentare hab ich zum debuggen dazu getippt, gw process, sleep):

gw process
send: 100-100-0-0 s=0,c=1,t=0,pt=7,l=5,st=ok:25.8
0 25.80
sleep

Soweit ich das verstehe, ist er im mySensors Netz mit ID 100 bereits eingebunden.
Was muss ich nun bei fhem in die config packen um ein Messergebnis zu erhalten?
(die Befehlsreferenz ist mir bekannt, aber ich versteh es nicht wirklich. gesucht habe ich auch)
Ich bräuchte mal einen Auszug aus einer funktionierenden fhem.cfg, als Beispiel.
Danke im voraus,
fifi

hexenmeister

Die Serialausgabe sieht (auf die Schnelle) gut aus.
Mein Test-Device (hat paar Sensoren mehr dran) sieht so aus:
define MYSENSOR_1 MYSENSORS_DEVICE 1
attr MYSENSOR_1 IODev mysensors
attr MYSENSOR_1 mapReading_brightness 3 brightness
attr MYSENSOR_1 mapReading_distance 2 distance
attr MYSENSOR_1 mapReading_humidity 0 humidity
attr MYSENSOR_1 mapReading_motion 4 tripped
attr MYSENSOR_1 mapReading_temperature 1 temperature
attr MYSENSOR_1 mode node
attr MYSENSOR_1 room Test
attr MYSENSOR_1 version 1.4



Ich denke, bei Dir fehlt etwas wie
... mapReading_temperature 1 temperature
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Fifi

cool, Danke. Werde ich heute Abend ausprobieren.

Fifi

nochmal icke. Ich kriegs nicht auf die Palette.
Sieht im Moment so aus:
# mySensors
define Sensoren MYSENSORS 192.168.133.28:5003
attr Sensoren stateFormat connection

damit wird das Ethernet-Gateway eingebunden. Das funktioniert offenbar.
Dann:

# mySensors Devices
define TempTest MYSENSORS_DEVICE 6 100
attr TempTest IODev Sensoren
attr mapReading_temperature 1 temperature

Damit möchte ich den Temperatursensor mit der RadioID 100 (die offenbar auch richtig vergeben wurde) einbinden. Das funktioniert aber nicht. Der Sensor taucht in der Übersicht mit ??? auf.

Logfile:
2015.01.25 15:23:34 3: MYSENSORS: ignoring set-msg from unknown radioId 100, childId 0 for V_TEMP

Seh ich das nu richtig, das ich mit MYSENSORS ein Gateway einbinde und dann noch ein MYSENSOR_DEVICE mit der entsprechenden Nummer für Temeratur (6) und die Radio-ID (100) anlegen muss? Was dann noch?

B
@Hexenmeister: bei deiner Config sehe ich das Einbinden des Gateway nicht.
Und ich seh nicht, welche Radio-ID zugeordnet wird. Kannste mir das bitte noch erläutern?

fifi

hexenmeister

Hi!

Dein gateway funktioniert schon, sieht man ja im Log. Die meldungen werden jedoch wegen falscher ChildID (und auch unbekannter RadioID) ignoriert. Bei mir ist Temperatur 1, bei Dir offensichtilich 0, s. Log.
Mein Gateway ist seriel und sieht so aus:
define mysensors MYSENSORS /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_1003-if00-port0@115200
attr mysensors alias MySensors Gateway
attr mysensors group IO
attr mysensors room IO_Devices
attr mysensors stateFormat connection

Hier kann man nicht viel falsch machen ;)

Deine Device-Definition ist jedoch nicht korrekt. Das Modul erwartet ein Parameter, die RadioID, der Rest wird ignoriert.
Also richtig müsste es dann heißen:
# mySensors Devices
define TempTest MYSENSORS_DEVICE 100
attr TempTest IODev Sensoren
attr mapReading_temperature 0 temperature


Bei mir steht bei der Definition eine 1 für RadioID. Kommt noch aus der Zeit, als es noch kein fertiges FHEM-Modul gab. Jetzt wird offensichtlich mit 100 angefangen.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Fifi

Danke, jetzt geht's. Es steht nun in der fhem.cfg:
# mySensors
define Sensoren MYSENSORS 192.168.133.28:5003
attr Sensoren stateFormat connection

# mySensors Devices
define TempTest MYSENSORS_DEVICE 100
attr TempTest IODev Sensoren
attr TempTest mapReading_temperature 0 temperature

In der Übersicht werden imm noch ??? angezeigt, aber in der Ansicht des Sensors wird die korrekte Temperatur angezeigt.
Jetzt muss ich nur noch verstehen was da passiert ;)
Danke,
Ingo

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Fifi


Fifi

Der Einstieg is nich leicht.
Ich bin mittlerweile dahinter gekommen, das es ja einen "Auto-anmelden-mode" gibt (beim EIB hatte ich den schon benutzt) und man nicht alles selber tippen muss. Dazu darf die Sensorplatine halt nur noch nicht angemeldet sein.... Also EEprom löschen und schon geht's.
Nun seh ich die Messwerte wenn ich auf den Sensor klicke (bei READINGS). Aber was muss ich machen, damit die Messwerte auch in der Übersicht, bzw. im Floorplan angezeigt werden?
Im Floorplan steht: Undefined Reading MYSENSOR

Dann: es gibt ja das MQTT-Gateway. Warum sollte man das benutzen, statt das Ethernet-Gateway?
Ich hoffe, ich nerve nicht mit den Anfängerfragen. Aber soviel schöne Sachen ihr auch zusammentippt, für AUssenstehende ist der Einstieg doch etwas holprig. Man liesst überall was, aber es fehlt der Zusammenhang. Falls ich die Sensoren mal auf die Kette kriege, werde ich auch ein kleines pdf machen, damit es anderen etws leichter fällt.

hexenmeister

MQTT war das erste Modul, das MySensors unterstützte. Ich würde den nicht empfehlen. MQTT ist eine coole Technik, aber der MQTT-Gateway-Sketch von MySensors unterstützt sie nur unvollständig. Man kann es nutzen, aber eben die Vorteile von MQTT hast du dann doch nicht. Ich habe aber schon länger nicht reingeschaut, kann sich ja alles verändert haben.

Für die direkte Anzeige ist doch state zuständig. Klappt mit stateFormat nicht?

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Fifi

ja, jetzt klappts. endlich. mühsam ernährt sich das Eichhörnchen. Man muss halt auch verstehen, wie die Antworten gemeint sind ;)
sieht nu so aus (für andere die auf der Leitung stehen):

# macht, das auch der Floorplan automatisch upgedatet wird, wenns ne neue Temperatur gibt
attr WEB longpoll 1

# mySensors, baut das Ethernet Gateway in fhem ein
define Sensoren MYSENSORS 192.168.133.28:5003
attr Sensoren stateFormat connection

# mySensors Devices, ordnet einen Sensor dem Ethernet-Gateway zu
define MYSENSOR_101 MYSENSORS_DEVICE 101
attr MYSENSOR_101 IODev Sensoren
# baut den Sensor bzw. eine Anzeige der Temperatur in den Floorplan bei Position 200,100 ein
attr MYSENSOR_101 fp_Testplan 200,100,6,TempSensor01
# mit nem Temperatur Icon
attr MYSENSOR_101 icon temp_inside
# liest die Temperatur vom Sensor
attr MYSENSOR_101 mapReading_TempSensor01 0 temperature

attr MYSENSOR_101 mode node
# baut den Sensor in eine anderen Raum mit Namen Testraum ein
attr MYSENSOR_101 room Testraum
# ändert den State des Sensors, also die Anzeige mit der empfangenen Temperatur und schreibt Celsius dahinter
attr MYSENSOR_101 stateFormat TempSensor01 Celsius
attr MYSENSOR_101 version 1.4.1


Bitte berichtigen. Vielleicht hilft das Anderen aus dem Nebel.
Danke Hexenmeister.



Fifi

Hallo,
nächstes Problem, eigentlich sollte ja beim automatischen einfügen eines Sensors auch ein Logfile angelegt werden.
Wird aber nicht. Nzn hab ich versucht eins von Hand anzulegen:
# mySensors Devices
define TempSensBatt01 MYSENSORS_DEVICE 101
attr TempSensBatt01 FileLog ./log/TempSensBat01-%Y.log TempSensBatt01
attr TempSensBatt01 IODev Sensoren
attr TempSensBatt01 fp_Studio 200,100,6,TempSensor01
attr TempSensBatt01 fp_Testplan 200,100,6,TempSensor01
attr TempSensBatt01 icon temp_inside
attr TempSensBatt01 mapReading_TempSensor01 0 temperature
attr TempSensBatt01 mode node
attr TempSensBatt01 room Testraum
attr TempSensBatt01 stateFormat DS18b20 Celsius
attr TempSensBatt01 version 1.4.1


Im FHem Logfile ist kein Fehler, aber es wird kein Logfile für den Sensor angelegt. Was mach ich da falsch?

hexenmeister

Zitat von: Fifi am 08 Februar 2015, 00:06:19
[...]
Nzn hab ich versucht eins von Hand anzulegen:
# mySensors Devices
define TempSensBatt01 MYSENSORS_DEVICE 101
attr TempSensBatt01 FileLog ./log/TempSensBat01-%Y.log TempSensBatt01
attr TempSensBatt01 IODev Sensoren
[...]
Im FHem Logfile ist kein Fehler, aber es wird kein Logfile für den Sensor angelegt. Was mach ich da falsch?

Rot ist falsch.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Puschel74

Tja, wer die commandref lesen und verstehen kann wird sehen das ein Logfile ...
NICHT als Attribut angelegt wird sondern als eigenständiges Device.

Wer lesen kann ist im Vorteil ...
wer das gelesene noch versteht und umsetzen kann hat schlicht gewonnen.
Wem das ganze zuviel ist sollte ...
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

LuckyDay

ZitatWer lesen kann ist im Vorteil ...
wer das gelesene noch versteht und umsetzen kann hat schlicht gewonnen.
Wem das ganze zuviel ist sollte ...

@Puschel
Ich sags dir nochmal du nervst inzwischen ohne Ende