Autor Thema: Eigene ESP8266 Raumsensoren  (Gelesen 3598 mal)

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Eigene ESP8266 Raumsensoren
« am: 26 Juni 2017, 21:43:18 »
Hallo,

ich habe in meinen Räumlichkeiten diverse  (Eigenbau)Raumsensoren mit einen ESP8266 Herzen.
Die Sensoren waren für meine Selbstprogrammierte HomeControl , nun möchte ich die Sensoren für FHEM wiederverwerten.

Da die Sensoren im deep sleep gehen müssen diese aktiv zu FHEM senden.
Meine Überlegung war diese:

Push zum FHEM über WebCMD:
http://192.168.0.251:8083/fhem?cmd=setreading%20SKBB.RoomSensor_25146%20Temperature%2026.00;setreading%20SKBB.RoomSensor_25146%20Humidity%2062;setreading%20SKBB.RoomSensor_25146%20Battery%2085&XHR=1
Wenn der Sensor noch nicht angelegt ist bekomme ich ja das Result:
Please define SKBB.RoomSensor_25146 first
Please define SKBB.RoomSensor_25146 first
Please define SKBB.RoomSensor_25146 first

Darauf würde dann der Sensor folgt reagieren:
http://192.168.0.251:8083/fhem?cmd=define SKBB.RoomSensor_25146 dummy;define%20SKBB.RoomSensor_25146_FileLog%20FileLog%20./log/SKBB.RoomSensor_25146_FileLog_%Y.log%20SKBB.RoomSensor_25146&XHR=1
Macht das so Sinn oder mache ich hier totalen misst?

Gruß
Dennis

Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline Gizmo_the_great

  • New Member
  • *
  • Beiträge: 34
Antw:Eigene ESP8266 Raumsensoren
« Antwort #1 am: 26 Juni 2017, 22:40:35 »
Ich würde das ganze über ESPeasy realisieren.
Da werden die Devices automatisch angelegt, wenn erstmal eine ESPeasy-Bridge eingerichtet ist.

Bin aber gespannt was die anderen User so empfehlen.

Grüße Gizmo


Gesendet von iPhone mit Tapatalk Pro
FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan
Zustimmung Zustimmung x 1 Liste anzeigen

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 2573
  • NIVEAu ist keine Creme...
Antw:Eigene ESP8266 Raumsensoren
« Antwort #2 am: 26 Juni 2017, 23:25:15 »
Hi Dennis,

warum legst du nicht den dummy, filelog etc. schon in fhem an?
Statt "als Reaktion" des Sensors?

Allerdings wirst du so wie der Aufruf aktuell lautet (in deinem Beispiel) wohl Probleme bzgl. csrfToken (FeatureLevel 5.8) bekommen...

Alternativen:

ESPEasy (wie bereits genannt)

Webserver auf dem ESP und dann per HTTPMOD abfragen (ist allerdings polling)

und bestimmt noch weitere Möglichkeiten...

Schon im Forum bzgl. ESP gesucht?

Gruß, Joachim
FHEM 5.8 Pi 3, HM-CFG-USB, 20x HM, ZWave USB Stick, 4x ZWave, Amazon dashButtons, CO2, ESP-Multisensor, FireTV
FHEM 5.8 PI 2, HM-CFG-USB, 17x HM, ZWave USB Stick, 3x Zwave, CO2, KODI
FHEM 5.8 PI 2 (Test): CUL868, mySensors, Alexa, Google Home, Aurora NanoLeaf, KODI
FHEM 5.8 PI 3 (Test): HM-MOD-PCB

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #3 am: 26 Juni 2017, 23:33:45 »
Hi Joachim,
ja die "Reaktion" des Sensor  fände ich schon nett da sich so jeder selbst anlegt und ich den Code so auch einfach weitergeben kann und
csrfToken habe ich aktuell eh deaktiviert daher klappt das ;)

HTTPMOD fällt leider raus da ich den Sensor ja im deep sleep versetzte und der dann natürlich nicht erreichbar ist.

Ja ich habe auch schon nach ESP im Forum gesucht, aber dort steh leider schon fast zu viel drinnen....
Habe dort leider noch nichts aufschlussreiches gefunden.

Werde mir dann mal ESPEasy  ansehen.

Danke euch beiden für die Vorschlage!

Gruß
Dennis 
 



 
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 2573
  • NIVEAu ist keine Creme...
Antw:Eigene ESP8266 Raumsensoren
« Antwort #4 am: 26 Juni 2017, 23:41:18 »
ja die "Reaktion" des Sensor  fände ich schon nett da sich so jeder selbst anlegt und ich den Code so auch einfach weitergeben kann

Ja selbst anlegen hat was...
...aber als Reaktion wird schwer u.a. wg. dem Sleep...

csrfToken habe ich aktuell eh deaktiviert daher klappt das ;)

Über die Risiken bist du dir im Klaren!?


HTTPMOD fällt leider raus da ich den Sensor ja im deep sleep versetzte und der dann natürlich nicht erreichbar ist.

Ja, da hast du nat. recht...


Ja ich habe auch schon nach ESP im Forum gesucht, aber dort steh leider schon fast zu viel drinnen....
Habe dort leider noch nichts aufschlussreiches gefunden.

Werde mir dann mal ESPEasy  ansehen.

Jep, ist halt auch ein wahnsinnig vielseitiges Teil...
...das ist bestimmt eine gute Wahl!

Gruß, Joachim
FHEM 5.8 Pi 3, HM-CFG-USB, 20x HM, ZWave USB Stick, 4x ZWave, Amazon dashButtons, CO2, ESP-Multisensor, FireTV
FHEM 5.8 PI 2, HM-CFG-USB, 17x HM, ZWave USB Stick, 3x Zwave, CO2, KODI
FHEM 5.8 PI 2 (Test): CUL868, mySensors, Alexa, Google Home, Aurora NanoLeaf, KODI
FHEM 5.8 PI 3 (Test): HM-MOD-PCB

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #5 am: 26 Juni 2017, 23:48:11 »
Ja selbst anlegen hat was...
...aber als Reaktion wird schwer u.a. wg. dem Sleep...
Habe es mal eben gebaut und es läuft ^^ der Sleep wird je dann nur aktiv wenn er eingerichtet ist ;)

Über die Risiken bist du dir im Klaren!?

Ja ich denke schon, da mein FHEM nur aus dem Lokalem Netzwerk erreichbar ist (von extern nur via VPN) sollte es vertretbar sein.
Oder liege ich da falsch?

Gruß
Dennis
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 2573
  • NIVEAu ist keine Creme...
Antw:Eigene ESP8266 Raumsensoren
« Antwort #6 am: 26 Juni 2017, 23:58:26 »
Ja ich denke schon, da mein FHEM nur aus dem Lokalem Netzwerk erreichbar ist (von extern nur via VPN) sollte es vertretbar sein.
Oder liege ich da falsch?

Jep da liegst du leider total falsch!

Siehe z.B.:

https://forum.fhem.de/index.php/topic,72493.msg641206.html#msg641206

Gruß, Joachim
FHEM 5.8 Pi 3, HM-CFG-USB, 20x HM, ZWave USB Stick, 4x ZWave, Amazon dashButtons, CO2, ESP-Multisensor, FireTV
FHEM 5.8 PI 2, HM-CFG-USB, 17x HM, ZWave USB Stick, 3x Zwave, CO2, KODI
FHEM 5.8 PI 2 (Test): CUL868, mySensors, Alexa, Google Home, Aurora NanoLeaf, KODI
FHEM 5.8 PI 3 (Test): HM-MOD-PCB

Offline supernova1963

  • Full Member
  • ***
  • Beiträge: 211
Antw:Eigene ESP8266 Raumsensoren
« Antwort #7 am: 27 Juni 2017, 05:48:27 »
Hallo Dennis,

alternativ könnte man meiner Ansicht nach noch MQTT für die beschriebene Situation in Erwägung ziehen.
Die MQTT Bridge hat in fhem zwar kein autocreate, ist aber in der nativen Variante Hardware unabhängig.


Gernot
Fhemserver: Mac Mini - Parallels Desktop mit Ubuntu Server 16.04,
Module: Harmony, fakeRoku, FBAHA, Fritzbox, Proplanta, FIRMATA, Homekit, MQTT + espBridge, HMCCU, Nmap, ...
Visualisierungen: ioBroker
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Pf@nne

  • Sr. Member
  • ****
  • Beiträge: 811
    • tech_LogBuch
Antw:Eigene ESP8266 Raumsensoren
« Antwort #8 am: 27 Juni 2017, 06:02:03 »
Ich würde auch eine neue Firmware mit MQTT-Unterstützung in Erwägung ziehen.
ESPEasy oder vielleicht etwas sebstgemachtes....

https://forum.fhem.de/index.php/topic,50238.0.html
Das hier ist noch in Arbeit, wird aber nach und nach erweitert.
https://forum.fhem.de/index.php/topic,50238.0.html

https://forum.fhem.de/index.php/topic,67303.msg647791.html#msg647791

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #9 am: 27 Juni 2017, 07:36:03 »
Jep da liegst du leider total falsch!

Uiuiui so böse habe ich mal wieder nicht gedacht ....
Danke dir für den Hinweis, werde dann mal schnell meine Config überarbeiten!

alternativ könnte man meiner Ansicht nach noch MQTT für die beschriebene Situation in Erwägung ziehen.
Ich würde auch eine neue Firmware mit MQTT-Unterstützung in Erwägung ziehen.
ESPEasy oder vielleicht etwas sebstgemachtes...

Danke euch beiden für den Hinweis auf MQTT hatte bis jetzt mich noch nicht mit MQTT auseinandergesetzt, werde dieses aber schnell nachholen ;)

Gruß
Dennis

Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2962
    • _.:|:._
Antw:Eigene ESP8266 Raumsensoren
« Antwort #10 am: 27 Juni 2017, 07:36:31 »
Du kanst auch, mit eigenen Code auf dem ESP, das ESPEasy Bridge Modul verwenden. Wenn Du statt
Zitat
http://192.168.0.251:8083/fhem?cmd=setreading%20SKBB.RoomSensor_25146...
einen JSON String per HTTP POST, an die vorher eingerichtete FHEM ESPEasy Bridge sendest.

Der JSON String hat folgenden Aufbau:
{
"module": "ESPEasy",                      # darf nicht verändert werden
"version": "1.02",                        # dito.
"data": {
"ESP": {
"name": "TESTDEVICE",     # wird für autocreate benötigt
"unit": 1,                # sollte ein eideuter Werte pro ESP sein
"build": 140,             # min. 128
"sleep": 0                # 1 Wenn Sleepmode
},
"SENSOR": {
"0": {
"deviceName": "TESTDEV0",      # wird für autocreate benötigt
"valueName": "Temprature",     # Readingname
"type": 1,                     # Sensor Werte folgen
"value": "23.2"                # Reading Wert
},
"1": {
"deviceName": "TESTDEV1",
"valueName": "Humidity",
"type": 1,
"value": "0"
},
"2": {
"deviceName": "TESTDEV2",
"valueName": "Motion",
"type": 10,                       # type switch
"value": "0"                      # 0 oder 1 -> off/on in FHEM
}
}
}
}
Damit funktioniert dann auch autocreate, basic auth, access control lists, etc...

Du könntest dann auch Deinen ESP über das Modul steuern, wenn der ESP nicht im deep sleep ist und Du Dich an folgende Syntax hälst:
http://ESP-IP:80/control?cmd=<BEFEHL>[,PARAM1][,PARAM2][,PARAMn]
Der Aufruf dafür sähe in FHEM so aus:
set <ESP> raw BEFEHL PARAM1 PARAM2
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2962
    • _.:|:._
Antw:Eigene ESP8266 Raumsensoren
« Antwort #11 am: 27 Juni 2017, 07:54:58 »
Nachtrag: Wenn Dich das interessiert, dann findest Du Beispielcode dazu hier: https://github.com/ddtlabs/Dots/blob/master/fastled_http.ino#L274
Das Script verwendet für den Aufbau des JSON Strings die ArduinoJson Library: https://github.com/bblanchon/ArduinoJson , geht aber auch manuell.

Mit dem Script steuere ich eine Lampe mit 240 Leds (WS2812B, fastled Lib) über das ESPEasy Modul und lasse den Status über Lichtprogramme etc anzeigen.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #12 am: 27 Juni 2017, 08:04:05 »
Oh,
das gefällt mir sehr!
Danke für den Tipp :)

PS:
Obwohl ich einige Programmier- und Projekt-Skills mitbringe braucht es seine Zeit sich ein Überblick im FHEM zu verschaffen.
Was halt viel kann, ist auch etwas komplexer ;)
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #13 am: 27 Juni 2017, 09:49:34 »
wenn du den code unter kontrolle hast ist auf das KeyValueProtokol modul mit dem udp receiver an.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2962
    • _.:|:._
Antw:Eigene ESP8266 Raumsensoren
« Antwort #14 am: 27 Juni 2017, 11:54:51 »
KeyValueProtokol
Das universellere KeyValueProtokol ist bestimmt besser geeignet, als ein proprietäres Protokoll nachzubilden.
Gibt es denn mittlerweile ein kleines bischen Doku dazu? Ich hatte damals (und auch jetzt auf die Schnelle) nichts dazu gefunden, die Daten in FHEM anzunehmen.

In der Commandref steht zwar:
Zitat
A generic module to receive key-value-pairs from an IODevice like JeeLink.
Aber ehrlich gesagt, hat mir das nicht gereicht...

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #15 am: 27 Juni 2017, 11:59:48 »
im modul selber steht wie die gesendeten daten aussehen müssen.

sonst gibt es leider nur die drei threads die jeweils eine der drei io versionen beschreiben:
- per usb und kabel
- per socket wenn fhem die verbindung auf aufbaut
- per udp broadcast wenns er sensor von sich aus sendet
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #16 am: 27 Juni 2017, 12:07:51 »
Man das wird hier ja wirklich interessant!

Könnte mich jetzt nun wirklich im Ars** beißen, das ich so spät an FHEM geraten bin ...   
« Letzte Änderung: 27 Juni 2017, 12:14:06 von Shojo »
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2962
    • _.:|:._
Antw:Eigene ESP8266 Raumsensoren
« Antwort #17 am: 27 Juni 2017, 12:28:55 »
sonst gibt es leider nur die drei threads die jeweils eine der drei io versionen beschreiben:
Das KeyValueProtokol hat das Potenzial eine (weitere) universelle Schnittstelle für alle möglichen Devices, Systeme, etc. zu FHEM zu werden. Ohne aber die konkrete Einbindung zu dokumentieren ist es mMn unbrauchbar oder nur für den kleinen Kreis der "FHEM Insider" verwendbar. Einen Verweis auf drei Threads ohne Links finde ich ehrlich gesagt ziemlich dürftig. (Das ist absolut nicht böse gemeint, nur mein Empfinden, da es mir damals nicht geholfen hat)

@Shojo: Vielleicht versuchst Du einfach mal das KeyValueProtokol zu verwenden und berichtest von Deinen Erfahrungen.
Wenn es funktioniert, dann könntest Du den Maintainer vielleicht sogar unterstützen und einen Wiki Artikel beginnen? ;)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #18 am: 27 Juni 2017, 12:33:17 »
die threads raus zu suchen ist am handy etwas mühsam :)

eine wiki seite wäre schön. aber bis jetzt hat es jeder der es versucht hat so schnell hin bekommen das er danach scheinbar keinen bedarf mehr gesehen hat mit der doku anzufangen.

also bis es doku gibt: bitte einfach trotzdem versuchen und fragen wenn etwas unklar ist. es ist ganz wirklich super einfach. man sendet nur nachrichten mit sensor typ, sensor id, readings namen und werten. fhem kümmert sich um alle andere völlig automatisch. inklusive autocreate.
« Letzte Änderung: 27 Juni 2017, 12:59:06 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #19 am: 27 Juni 2017, 14:19:48 »
Werde ich mir auf jeden Fall ansehen, wäre toll wenn du noch mal die Links nachreichen kannst ;)
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #20 am: 27 Juni 2017, 20:48:55 »
Was mir sich noch nicht erschließt wie ich das autocreat anspreche / auslöse.
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #21 am: 27 Juni 2017, 21:07:44 »
das geht wie bei jedem anderen fhem modul komplett automatisch sobald eine nachricht von einem neuen device/sensor empfangen wird. du musst nur das device für das jeweilige io anlegen und autocreate nicht deaktiviert haben.

eine kurze erklärung gibt es hier: https://forum.fhem.de/index.php/topic,67925.msg594475.html#msg594475 bzw. im post direkt danach.

einen weiteren thread zur direkten anbindung per usb/seriell gibt es hier: https://forum.fhem.de/index.php/topic,44092.0.html

im thread zum LaCrosseGateway gibt es einen beschreibung zur anbindung per ip.

den thread zu KeyValueProtocoll und udp gibt es hier: https://forum.fhem.de/index.php?topic=45545.0
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Hilfreich Hilfreich x 1 Liste anzeigen

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #22 am: 03 Juli 2017, 19:13:58 »
Hi justme1968,

ich schnalle leider überhaupt nicht wie ich ein JeeLink UDP io anlege :(
Kannst Du mir da eine Starthilfe geben ?
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #23 am: 03 Juli 2017, 19:15:37 »
für udp brauchst du das modul aus dem letzten oben verlinkten thread.

der jeelink ist nur für usb und tcp.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #24 am: 03 Juli 2017, 19:18:32 »
Achsoooo, da war ich ja voll auf dem Holzweg.
Ich dachte das kann FHEM von Haus aus :D
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #25 am: 03 Juli 2017, 19:20:49 »
das KVPUDP modul ist (noch ?) nicht eingecheckt. d.h. du musst es aus dem thread laden.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #26 am: 03 Juli 2017, 19:43:00 »
Jo jetzt läuft es ... SEHR geil!
Danke dir für die Hilfe, jetzt kann ich mir meine Sensoren aufbauen :)
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #27 am: 03 Juli 2017, 23:03:35 »
So erster Sensor hat seine Daten per UDP gesendet :)
2017.07.03 22:57:32 3 : myKVP: Received 147 bytes from '192.168.0.115''
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 Temperature: 15.90
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 Dewpoint: 15.74
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 Humidity: 99
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 Pressure: 1014
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 RSSI: -76
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 WifiQuality: 48
2017-07-03 22:57:32 KeyValueProtocol KeyValueProtocol_SKBB.WifiWeatherStation_192513 Version: 0.0.0.8_dev_udp

Musste aber noch etwas am Modul ändern da es nur 128 bytes angenommen hatte, und auch immer versucht hat eine Config zu laden.
« Letzte Änderung: 03 Juli 2017, 23:07:08 von Shojo »
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #28 am: 03 Juli 2017, 23:12:01 »
na wenn du auch so viele bytes für die id verbrätst :)

aber auch 256 oder 512 bytes pro nachricht sollten noch kein problem machen. und falls du mit der länge der reading namen nicht hin kommst kannst du über das mapping attribut oder die mapping nachricht gehen und in der daten nachricht kürzere namen verewnden die dann gemappt werden.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #29 am: 04 Juli 2017, 07:15:56 »
na wenn du auch so viele bytes für die id verbrätst :)
Ok, da hast du natürlich recht :D

kannst du über das mapping attribut oder die mapping nachricht gehen und in der daten nachricht kürzere namen verewnden die dann gemappt werden.

Wie meinst du das mit der Mapping Nachricht ?
Kann ich das vom Sensor mitgeben?

Weil in dem "Orig." Modul wir immer versucht via HTTP eine Config vom Device abzurufen (Wo dann auch ein Mapping hinterlegt werden kann). Was ich jetzt aber nicht so dolle finde.
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #30 am: 04 Juli 2017, 09:14:32 »
der sensor kann eine mapping nachricht schicken. schau mal im KeyValueProtokoll pm file die letzten beiden beispiel zeilen.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #31 am: 04 Juli 2017, 09:36:17 »
d.h. du kannst entweder in den nachrichten direkt die reading namen verwenden oder ganz kurze bezeichner und ein mal als erste nachricht eine zuordnung der abkürzungen zu den reading namen in der mapping nachricht.

oder du machst es von hand und verwendest das mapping attribut.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #32 am: 04 Juli 2017, 09:47:13 »
ach ja: noch etwas...

es ist noch nirgendwo fest geschrieben aber wie wäre es für die sensor id dir mac adresse (plus optional laufender nummer) zu verwenden und für den type etwas das auf den sketch namen rückschlüssen lässt? dann könnte man auch ota updates über fhem einbauen.

für den rückweg (also das setzenden werten oder kommandos an den sketch) bin ich auch gerade am überlegen.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #33 am: 04 Juli 2017, 10:06:28 »
der sensor kann eine mapping nachricht schicken. schau mal im KeyValueProtokoll pm file die letzten beiden beispiel zeilen.
Das werde ich mir heute Abend auf jeden Fall ansehen.

oder du machst es von hand und verwendest das mapping attribut.
Ne das soll schon der Sensor machen, finde ich schicker ;)

aber wie wäre es für die sensor id dir mac adresse (plus optional laufender nummer) zu verwenden und für den type etwas das auf den sketch namen rückschlüssen lässt? dann könnte man auch ota updates über fhem einbauen.
Ja die MAC ist vorhanden, allerdings nur die letzten 3 Segmente da die ersten ja nur den Hersteller angeben.
Und der Sketchname ist auch drinnen.
SKBB.WifiWeatherStation <--Sketch  MAC-->192513 (19:25:13)

Und OTA wäre natürlich sehr geil!
Aktuell geht das übers Webif, wobei ich das über FHEM besser finden würde.


für den rückweg (also das setzenden werten oder kommandos an den sketch) bin ich auch gerade am überlegen.
Ja das wäre natürlich sehr geil. am besten mit einer Queue wenn der Sender in DeepSleep ist.
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #34 am: 04 Juli 2017, 11:07:28 »
in KVPUDP ist der serverseitige OTA-Anteil drin. Wird in einer ähnlichen Form auch von der TCP-Variante benutzt.
Damit die neue Firmware zum NodeMCU kommt, muss dieser per HTTP-Post die Daten entgegen nehmen.

schau mal in EspWifi.ino (NodeMCU.zip aus dem UDP-Thread)
server.addHandler(new FunctionRequestHandler(httpHandleOTA, httpHandleOTAData, ("/ota/" + getChipID() + ".bin").c_str(), HTTP_POST));

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #35 am: 04 Juli 2017, 11:11:37 »
weißt du ob das kompatibel zur arduinoOta variante ist?
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #36 am: 04 Juli 2017, 11:21:12 »
ArduinoOTA ist über ein PULL (HTTP GET) vom NodeMCU realisiert. Es wird ein zusätzlicher WebServer benötigt.

KVPUDP macht ein PUSH (HTTP POST).

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #37 am: 04 Juli 2017, 11:21:38 »
ok. danke.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #38 am: 04 Juli 2017, 11:30:53 »
server.addHandler(new FunctionRequestHandler(httpHandleOTA, httpHandleOTAData, ("/ota/" + getChipID() + ".bin").c_str(), HTTP_POST));
Ja das ist auch meine Meinung nach eine gute Lösung!
Blos wie bekomme ich nun die Funktionalität in den Fhem Device ?
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #39 am: 04 Juli 2017, 11:36:08 »
set <KVPUDP-Name> flash

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #40 am: 04 Juli 2017, 11:37:58 »
Oh, ok das ist ja nicht schwer  ;D
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #41 am: 04 Juli 2017, 21:14:17 »
Ok ... ich bin echt zu blöd für Perl....

Ich blick den Code nicht 36_KVPUDO.pm sowie 36_KeyValueProtocol.pm

Oder sehe ich das richtig, das ich aktuell kein Mapping über UDP machen kann das ich die Args dort nicht übergeben kann?
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #42 am: 04 Juli 2017, 21:32:18 »
du musst doch auf perl seite gar nichts machen.

von KVPUDO wird alles was per udp rein kommt 1:1 an KeyValueProtocol weitergereicht. alles weitere passiert dann dort.

dein sketch muss eine init nachricht schicken die z,b. so ausschaut:INIT DICTIONARY U=UpTime,S=SSID,T=LastReceptionDate,M=Mode,O=OTA-State
dann kann die eigentliche nachricht so aussehen:OK VALUES LGW 12345 U=2345678, S=MyCoolNetwork,T=2015-11-17 13:39:14,M=OK,Connected,Cool,O=Ready
statt so:OK VALUES LGW 12345 UpTime=2345678, SSID=MyCoolNetwork,LastReceiveTime=2015-11-17 13:39:14,2015-11-18 14:15:16, Mode=OK,Connected,Cool,OTA=Ready

du kannst dir zum testen ein JeeLink device anlegen. dort gibt es ein set <name> parse <nachricht>kommando mit dem du nachrichten per copy&paste ins system bringen kannst ohne das du ein echtes device brauchst das du immer wieder flashen musst.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #43 am: 04 Juli 2017, 22:31:28 »
dein sketch muss eine init nachricht schicken die z,b. so ausschaut:INIT DICTIONARY U=UpTime,S=SSID,T=LastReceptionDate,M=Mode,O=OTA-State
Aber ich muss doch auch ein Device mit übergeben das er den Init zuordnen kann?!
2017-07-04 22:29:52 KVPUDP myKVP UNKNOWNCODE INIT DICTIONARY U=UpTime,S=SSID,T=LastReceptionDate,M=Mode,O=OTA-State
du kannst dir zum testen ein JeeLink device anlegen. dort gibt es ein set <name> parse <nachricht>kommando mit dem du nachrichten per copy&paste ins system bringen kannst ohne das du ein echtes device brauchst das du immer wieder flashen musst.
Da behelfe ich mit dem Packet Sender (https://packetsender.com/) ;)
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #44 am: 04 Juli 2017, 22:46:31 »
bei KVPUDP wird mit dem initialen HTTP-Request (/config?Version=&...) auch das Dictionary gelesen.
Also kannst du alles neu erfinden oder das benutzen, was schon da ist.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #45 am: 04 Juli 2017, 23:15:03 »
@Shojo: stimmt da war noch etwas. diese diskussion hatten wir schon mal.wir müssen für die INIT nachricht eigentlich noch das device mit angeben.  da das ganze vom der usb version kommt schaut das KeyValue modul auch im io nach. die usb und die tcp version kann zwar auch mehrere sensoren pro verbindung haben, diese hängen aber normalerweise logisch zusammen so das ein einziges dictionary reicht. bei der udp version kommen aber komplett unterschiedliche sensoren über das gleiche io und jeder sensor braucht ein eigenes dictionary. da müssen wir vermutlich auch noch mal nachbessern.

mal sehen ob HCS den thread findet. ich mach ihn mal drauf aufmerksam.


die oben angesprochenen ergänzungen müssten dann auch im KVUDP modul ergänzt werden.


@habeIchVergessen: das proíbem mit dem rückwärts abfragen der config ist das sensor und fhem seite nicht mehr so schön entkoppelt sind. wenn der sensor einfach ein mal die DICTIONARY nachricht schickt ist die trennung viel sauberer.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #46 am: 05 Juli 2017, 00:07:19 »
Kann man machen. Sehe aber keinen großen Mehrwert.
Die Entkopplung ist immer noch gegeben, da die FHEM-Seite ja aktiv werden muss. Dafür wird eine IP benötigt, die aus der initialen Multicast-Nachricht extrahiert wird.

Aktuell kann nur die Chip-ID benutzt werden, um Software-/Netzwerkänderungen detektieren zu können.
Dies würde ich schon der "schlauen Seite" (FHEM) überlassen.

Offline HCS

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2763
Antw:Eigene ESP8266 Raumsensoren
« Antwort #47 am: 05 Juli 2017, 08:38:48 »
ich mach ihn mal drauf aufmerksam.
Die Herrschaften haben geläutet?  ;D

Da es mir an Zeit mangelt, weil ich eh schon zu viele Projekte laufen habe und es irgendwie keinen großen Sinn macht, mich in etwas, das ich nicht habe und nicht brauche, reinzukämpfen, wäre es vermutlich am einfachsten, wenn jemand einen Patch erstellt.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #48 am: 05 Juli 2017, 09:16:20 »
ich schau es mir ab sobald mein sensor für den öltank in betrieb geht.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #49 am: 05 Juli 2017, 09:24:21 »
Ich muss mal schauen  wie ich Zeit finde, werde mich sonst mal in Perl einlesen...
Kann ja nun auch nicht schwerer als C# / C++ / Java sein...
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #50 am: 05 Juli 2017, 09:32:39 »
eigentlich muss man nur:
- sich das nachrichtenformat ausdenken so das es rückwärts kompatibel ist.
  die sensor id muss halt mit in die nachricht

- die regex im code zum erkennen der nachricht erweitern

- die INIT nachricht noch in die device internals stecken, nicht nur in die internals des IO
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #51 am: 05 Juli 2017, 09:55:55 »
bei der udp version kommen aber komplett unterschiedliche sensoren über das gleiche io und jeder sensor braucht ein eigenes dictionary. da müssen wir vermutlich auch noch mal nachbessern.
das hat HCS schon im KeyValueProtocol eingebaut.
Wenn das Attribut Mapping keine Daten enthält, dann wird versucht, das Internal <IODev>_Mapping zu lesen. Dies wird durch KVPUDP gesetzt.
Leider funktioniert dies nicht bei der ersten Nachricht und AutoCreate, da die Internals erst nach den Attributen geschrieben werden.
« Letzte Änderung: 05 Juli 2017, 09:57:29 von habeIchVergessen »

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #52 am: 05 Juli 2017, 10:55:19 »
ja. das hatten wir vorgesehen. das reicht aber für den udp fall noch nicht. da ein KVUDP device ja nachrichten von mehreren unterschiedlichen sensoren empfangen kann und diese auch unterschiedliche mappings haben kann. im usb und tcp fall gibt es pro IO nur nachrichten von einem sketch mit einem mapping.

die eigentlich saubere version wäre wenn es im udp fall eine dreistufige architektur gäbe. 1 KVUDP mit N devices mit M sensoren. das ist aber übertrieben.

deshalb die idee das KVUDP die INIT nachricht nicht ins IODev (also sich selber schreibt) sondern ans KVP device weiter gibt und diese dort in den internals abgelegt werden und dieses dann zuerst in den eigenen internals schaut und erst danach im IO.

das mit dem autocreate ist auch kein problem. man kann die nachricht die das autocreate triggers beim autocreate mit übergeben und beim anlegen des device mit verarbeiten. dann geht auch die erste nachricht nicht verloren.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #53 am: 05 Juli 2017, 11:02:24 »
KVPUDP übermittelt via addvals die IP und das Dictionary an jedes KeyValueProtocol-Device, für das Daten empfangen werden.
Sofern diese vorher per /config... gelesen wurden.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #54 am: 05 Juli 2017, 11:07:28 »
ja. aber ich mag diesen config rückweg nicht :). INIT nachrichten die der sensor richtung fhem schickt sind besser entkoppelt.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #55 am: 05 Juli 2017, 11:09:42 »
dann geht auch die erste nachricht nicht verloren.
die erste Nachricht geht nicht verloren! die Readings sind einfach nicht gemappt und stehen da mit 1=ABC, 2=DEF drin.

ja. aber ich mag diesen config rückweg nicht :). INIT nachrichten die der sensor richtung fhem schickt sind besser entkoppelt.
was passiert, wenn FHEM neu startet und die Liste der bekannten NodeMCU's weg ist (IP ist noch nicht bekannt)?

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #56 am: 05 Juli 2017, 11:18:08 »
die erste nachricht geht beim autocreate immer verloren wenn man sie nicht extra behandelt.

die ip ist für den weg sensor -> fhem ja eigentlich nicht relevant. nach der ersten nachricht ist sie ja wieder bekannt.

mit der config abfrage ist aber der umgekehrte weg nicht abgedeckt. wenn der sensor neu startet (und vielleicht sogar eine neue ip bekommt) erfährt fhem davon nichts da config nur bei der ersten nachricht abgefragt. wenn der sketch nach dem starten eine init nachricht schickt kann man auf fhem seite darauf reagieren falls das neu starten nicht beabsichtig war.

FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #57 am: 05 Juli 2017, 11:27:08 »
dafür gibt es die Nachricht "REFRESH CONFIG REQUEST"
wenn der Sketch diese bei jedem WiFi-Connect sendet, dann ruft KVPUDP /config auf und aktualisiert die internen Caches.
Bei der Nachrichtenverarbeitung wird dann aus dem Cache an die Devices weitergereicht.
« Letzte Änderung: 05 Juli 2017, 11:46:28 von habeIchVergessen »

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #58 am: 05 Juli 2017, 11:59:43 »
aber warum der config umweg? der sketch  kann doch einfach direkt die relevanten daten senden.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #59 am: 05 Juli 2017, 12:05:14 »
wenn FHEM erstmalig von einem NodeMCU Daten empfängt, dann müssen die INIT-Daten ebenfalls transportiert werden.
Dafür gibt es das HTTP-GET auf /config.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16956
Antw:Eigene ESP8266 Raumsensoren
« Antwort #60 am: 05 Juli 2017, 12:10:30 »
beim erst maligne empfangen nach dem einschalten sind die init nachrichten doch auch dabei.

das es fälle gibt in denen fhem initial erst mal auf einen aktuellen stand gebracht werden muss bestreite ich ja garnicht. aber ich würde hier auch die INIT nachrichten verwenden und diese nur antriggern.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #61 am: 05 Juli 2017, 12:56:17 »
(von ggf. mehreren FHEM-Instanzen) jeweils ein HTTP-GET-Request, der ein UDP-Multicast mit der INIT-Nachricht auslöst.

Was passiert mit der Nachricht, die die Informationen aus dem INIT benötigt, die aber erst asynchron empfangen werden?
« Letzte Änderung: 05 Juli 2017, 12:58:19 von habeIchVergessen »

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #62 am: 07 Juli 2017, 20:13:49 »
Ok, wo sind wir nun stehen geblieben?  ;)
Ich bin ehrlich gesagt da jetzt nicht mehr ganz mitgekommen..

Ich baue das jetzt dann erst einmal mit der HTTP GET anfrage auf, da es ja so anscheinend gut funktioniere ;)

Gruß
Dennis aka Shojo
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #63 am: 07 Juli 2017, 20:52:29 »
am einfachsten wäre es, aus EspWifi.ino (s. weiter oben verlinkte KVPUDP) "/config" und "PARSE CONFIG REQUEST"-Nachricht zu kopieren.
Alles andere erfordert zusätzliche Anpassungen an 36_KVPUDP.pm
Zustimmung Zustimmung x 1 Liste anzeigen

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #64 am: 09 Juli 2017, 18:07:28 »
So ich habe jetzt mal deinen Source angesehen,
verstehe ich das richtig das dein NodeMCU auch als "Proxy" für andere  Sensoren herhält? 

Und ist das Mapping dann global für den ganzen KVPUPD IODev?

« Letzte Änderung: 09 Juli 2017, 19:00:57 von Shojo »
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #65 am: 09 Juli 2017, 19:26:20 »
verstehe ich das richtig das dein NodeMCU auch als "Proxy" für andere  Sensoren herhält? 
nein

Und ist das Mapping dann global für den ganzen KVPUPD IODev?
nein

ein KVPUDP (in FHEM) verwaltet mehrere NodeMCU-Devices (verschiedene IP/IDs). Pro NodeMCU wird das Mapping gelesen und bei der Verarbeitung von Nachrichten an die empfangenden KeyValueProtocol-Devices weitergereicht.

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #66 am: 09 Juli 2017, 19:42:01 »
OK, danke für deine Geduld.

Ich mache es nun so:

Bei jeden Neustart sendet mein Sensor nun:
sendMultiCast("REFRESH CONFIG REQUEST");
Die Config die ich dann übergebe sieht dann so aus:
2017.07.09 19:20:14 3: KVPUDP_Read: got config 192.168.0.114
2017.07.09 19:20:14 3: got config: Version:SKBB.WeatherStation.0.0.0.5,ChipID:13,Dictionary:t=Temperature,d=Dewpoint,h=Humidity,p=Pressure,r=RSSI,w=WifiQuality (28 ms)
2017.07.09 19:20:14 3: myKVP: Received 22 bytes from '192.168.0.114''

Dann kommen die ersten Daten:
2017.07.09 19:22:01 3: myKVP: Received 59 bytes from '192.168.0.114''
2017.07.09 19:22:01 2: autocreate: define KeyValueProtocol_SKBB.WS_13 KeyValueProtocol SKBB.WS 13

Dann wird allerdings die ersten Readings ohne Mapping angelegt erst da drauf die Messung wird dann korrekt dargestellt.
Was mache ich noch falsch?





 
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline habeIchVergessen

  • Sr. Member
  • ****
  • Beiträge: 519
Antw:Eigene ESP8266 Raumsensoren
« Antwort #67 am: 09 Juli 2017, 20:55:47 »
Kein Fehler auf deiner Seite.
Fhem schreibt erst die Attribute und dann die Internals. Also in der ersten Runde fehlt das Mapping-Internal.
Somit kein Ersetzen der Namen.

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #68 am: 10 Juli 2017, 21:27:03 »
Oh, das ist ja unschön :-\
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 136
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Eigene ESP8266 Raumsensoren
« Antwort #69 am: 13 Juli 2017, 18:56:12 »
So habe es erst einmal ohne Mapping gemacht.
Und gehen nun folgt vor ....

Wenn der Sensor startet sendet er als erstes eine "KVP Init Message" mit der dann das  Autocreate angeregt wird :
OK VALUES SKBB.WWS 1647891Dann kommt eine "KVP System Info Message":
OK VALUES SKBB.WWS 1647891 ChipID=1647891,.....und dann noch einmal die Sensoren, die dann 2 minütlich wiederholt wird:
OK VALUES SKBB.WWS 1647891 Temperature=22.15,.....
Odroid-C2, Signalduino 433mHz, SignalESP 433mHz, nanoCUL 868mHz, HM-MOD-RPI-PCB, ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum

 

decade-submarginal