Autor Thema: Eigene ESP8266 Raumsensoren  (Gelesen 2898 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16798
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: 16798
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: 16798
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: 111
  • 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

Offline habeIchVergessen

  • Full Member
  • ***
  • Beiträge: 497
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: 16798
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

  • Full Member
  • ***
  • Beiträge: 497
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: 16798
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: 111
  • 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

Offline habeIchVergessen

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

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 111
  • 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

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 111
  • 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

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16798
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: 111
  • 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

Offline habeIchVergessen

  • Full Member
  • ***
  • Beiträge: 497
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.