Signalduino Entwicklung

Begonnen von thoffma3, 05 Juli 2015, 23:01:00

Vorheriges Thema - Nächstes Thema

Sidey

Unterstützt wird er scheinbar nicht.
Wenn das von Björn implementiert werden soll bräuchte man die genaue Bezeichnung und auch die entsprechenden Daten dazu.

Am besten so vorgehen:
Temp und Feuchte ablesen und die dazu passende Übertragung liefern.
Am besten mit drei unterschiedlichen Werten .

Später dann noch mal Übertragungen mit manuellem Senden (sofern vorhanden) und schlechter Batterie.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Burny4600

Hat sich bei den Oregon wieder etwas geändert für einen neuen Test?
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

hjgode

Bei mir gibt es folgende Fhelermeldungen im Zusammenhang mit LongIDs:
2015.12.22 19:15:31 1: PERL WARNING: Argument "CUL_TCM97001" isn't numeric in numeric ne (!=) at ./FHEM/14_Hideki.pm line 121.
2015.12.22 19:15:42 1: PERL WARNING: Argument "CUL_TCM97001,SD_WS07" isn't numeric in numeric ne (!=) at ./FHEM/14_Hideki.pm line 121.
2015.12.22 19:15:45 1: PERL WARNING: Argument "CUL_TCM97001,SD_WS07" isn't numeric in numeric ne (!=) at ./FHEM/14_SD_WS07.pm line 134.


in der fhem.cfg steht:
#nanoCUL
define nanoCUL433 CUL /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9YDLRJV-if00-port0@38400 1234
attr nanoCUL433 addvaltrigger 1
attr nanoCUL433 devStateIcon Initialized:cul_usb@green:Open Open:cul_usb@red:Initialized
attr nanoCUL433 event-min-interval .* 1800
attr nanoCUL433 longids CUL_TCM97001
attr nanoCUL433 model CUL
attr nanoCUL433 rfmode SlowRF
attr nanoCUL433 room Zentral,nanoCUL
attr nanoCUL433 verbose 0


und

attr sduinoIP icon cul_usb
attr sduinoIP longids CUL_TCM97001,SD_WS07
attr sduinoIP room RF_Receiver,Zentral
attr sduinoIP verbose 0


Da sind wohl noch Fehler in der 14_Hideki.pm

Danke

Josef
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

Ralf9

Zitat von: hjgode am 22 Dezember 2015, 19:24:29
Bei mir gibt es folgende Fhelermeldungen im Zusammenhang mit LongIDs:
2015.12.22 19:15:31 1: PERL WARNING: Argument "CUL_TCM97001" isn't numeric in numeric ne (!=) at ./FHEM/14_Hideki.pm line 121.
2015.12.22 19:15:42 1: PERL WARNING: Argument "CUL_TCM97001,SD_WS07" isn't numeric in numeric ne (!=) at ./FHEM/14_Hideki.pm line 121.
2015.12.22 19:15:45 1: PERL WARNING: Argument "CUL_TCM97001,SD_WS07" isn't numeric in numeric ne (!=) at ./FHEM/14_SD_WS07.pm line 134.


Der Fehler müsste hier sein:
if ( ($longids != 0) && ($longids eq "1" ..

Kannst mal versuchen ob es funktioniert wenn Du "($longids != 0)" durch "($longids ne '0')" ersetzt.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hjgode

Hallo Jörg (pejonp

wäre es möglich das Pollin Regenmesser Protokoll auch in SignalDuino zu wiederbeleben oder muß ich noch einen FHEMduino parallel laufen lassen um die Signale zu verarbeiten?
Für den PFR-130 (http://www.pollin.de/shop/dt/Nzg0OTYxOTk-/Haustechnik/Wetterstationen_Thermometer/Funk_Regenmesser_PFR_130_mit_Temperaturanzeige.html) habe ich es schon hinbekommen.

SYNC[]    =  8100;
ONE []    =  3800;
ZERO []   = 2100;
GLITCH [] =  100;
MESSAGELENGTH [] =  36;

In der 14_FHEMduino_env.pm habe ich den Eintrag:
elsif ($model eq "07") {      #         07 = PFR-130 (Regenmesser + Temp)ergänzt (siehe Anhang).
Die Temperatur wird angezeigt. Der andere Wert ist die Regenmenge, diese wird aber nicht immer von FHEM erkannt. Da FHEM auf dem Raspberry Pi nicht alle Übertragung vom Arduino erkennt bzw. auswertet. Habe da aber jetzt auch nicht weiter gesucht.

Jörg


Gruss

Josef
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

hjgode

Zitat von: Ralf9 am 22 Dezember 2015, 19:36:20
Der Fehler müsste hier sein:
if ( ($longids != 0) && ($longids eq "1" ..

Kannst mal versuchen ob es funktioniert wenn Du "($longids != 0)" durch "($longids ne '0')" ersetzt.

Gruß Ralf

Hallo Ralf

danke für die schnelle Antwort.

Hiermit sind die Fehler weg:
14_SD_WS07.pm Zeile 134 ist jetzt:
        if ( ($longids ne "0") && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/)))

14_Hideki (Zeile 121):
        if ( ($longids ne "0") && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/)))


Danke nochmals

Josef
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

Sidey

Hi,

ich habe in der Firmware einige Bugs beseitigt.
Deshalb gibt es heute noch die 3.2b10.

Ich habe auch die send raw und send manchester, sowie send combined Option übeararbeitet.
Die dauer des zu sendenden Signales ist jetzt viel genauer. Auch gibt es keine verzögerung bei einem send combined z.B. zwischen raw und manchester  mehr.

Unter Umständen habe ich aber neue Fehler eingebaut oder durch die Behebung von Fehlern kommen jetzt neue zum Vorschein.

Für 2015 war das aber erst mal die letzte Version.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Kuzl

#757
Ich habe jetzt den esp-link zum laufen gebracht und einen adruino pro mini 3.3V direkt daran angeschlossen beim versuch das ganze aus FHEM raus zu flashen kommt folgendes:


flashing Arduino sduinoIP
hex file: ./FHEM/firmware/SIGNALduino_promini328.hex
port: esp-link:23
log file: ./log/SIGNALduino-Flash.log
sduinoIP closed
command: avrdude -c arduino -b 57600 -P net:esp-link:23 -p atmega328p -vv -U flash:w:./FHEM/firmware/SIGNALduino_promini328.hex 2>./log/SIGNALduino-Flash.log

--- AVRDUDE ---------------------------------------------------------------------------------

avrdude: Version 6.0.1, compiled on Oct 21 2013 at 15:55:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"

         Using Port                    : net:esp-link:23
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
ioctl("TIOCMGET"): Inappropriate ioctl for device
ioctl("TIOCMGET"): Inappropriate ioctl for device
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x64
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x6e
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x74
ioctl("TIOCMGET"): Inappropriate ioctl for device

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------

sduinoIP opened


Was bedeutet das?

EDIT: Geht jetzt, musste noch im esp-link die Baud richtig einstellen

EDIT2: allerdings kann ich leider keine Verbindung zum Signalduino herstellen:


2015.12.23 16:42:54.858 1: esp-link:23 reappeared (sduinoIP)
2015.12.23 16:42:54.858 1: esp-link:23
2015.12.23 16:45:33.685 3: sduinoIP: setting Verbose to: 5
2015.12.23 16:46:34.931 5: sduinoIP: command for gets: R
2015.12.23 16:46:34.931 5: SW: R
2015.12.23 16:46:37.945 1: esp-link:23 disconnected, waiting to reappear (sduinoIP)
2015.12.23 16:46:37.965 1: esp-link:23 reappeared (sduinoIP)
2015.12.23 16:46:37.965 1: esp-link:23


Könnte das problem sein, dass er auf 8MHz läuft? ich habe die mit dem update gelieferte firmware geflasht. Auch direkt am PC kommt nach dem Reset nichts an.

hjgode

Zitat von: Kuzl am 23 Dezember 2015, 15:58:25
Ich habe jetzt den esp-link zum laufen gebracht und einen adruino pro mini 3.3V direkt daran angeschlossen beim versuch das ganze aus FHEM raus zu flashen kommt folgendes:


flashing Arduino sduinoIP
hex file: ./FHEM/firmware/SIGNALduino_promini328.hex
port: esp-link:23
log file: ./log/SIGNALduino-Flash.log
sduinoIP closed
command: avrdude -c arduino -b 57600 -P net:esp-link:23 -p atmega328p -vv -U flash:w:./FHEM/firmware/SIGNALduino_promini328.hex 2>./log/SIGNALduino-Flash.log

--- AVRDUDE ---------------------------------------------------------------------------------

avrdude: Version 6.0.1, compiled on Oct 21 2013 at 15:55:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"

         Using Port                    : net:esp-link:23
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
ioctl("TIOCMGET"): Inappropriate ioctl for device
ioctl("TIOCMGET"): Inappropriate ioctl for device
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x64
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x6e
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x74
ioctl("TIOCMGET"): Inappropriate ioctl for device

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------

sduinoIP opened


Was bedeutet das?

EDIT: Geht jetzt, musste noch im esp-link die Baud richtig einstellen

EDIT2: allerdings kann ich leider keine Verbindung zum Signalduino herstellen:


2015.12.23 16:42:54.858 1: esp-link:23 reappeared (sduinoIP)
2015.12.23 16:42:54.858 1: esp-link:23
2015.12.23 16:45:33.685 3: sduinoIP: setting Verbose to: 5
2015.12.23 16:46:34.931 5: sduinoIP: command for gets: R
2015.12.23 16:46:34.931 5: SW: R
2015.12.23 16:46:37.945 1: esp-link:23 disconnected, waiting to reappear (sduinoIP)
2015.12.23 16:46:37.965 1: esp-link:23 reappeared (sduinoIP)
2015.12.23 16:46:37.965 1: esp-link:23


Hallo Kuzl

kannst Du denn auf das esp-link Web über einen Browser zugreifen?

Kannst Du dann auch über telnet zugreifen und bekommst ein Antwort auf die Eingabe "V" plus CRLF?

Wie hast Du denn den Mini und den ESP-01 verdrahtet?

Gruss

Josef
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

Kuzl

Hallo Josef,

ich habe RX->TX und TX->RX verdrahtet
zusätzlich GPIO0 auf RST des Arduino, das flashen hat ja auch funktioniert.
Über Telnet hab ich es noch nicht versucht, allerdings über die Konsole auf der esp-link-Website und direkt über einen FTDI. Da kommt nichts zurück. Auch direkt nach einem Reset kommt nichts auf der Schnittstelle. Im Log scheint es so, als erkennt das Modul den Signalduino, allerdings sobald ein Kommando geschickt wird, verliert es die Verbindung.

Kann es sein, dass die Firmware nicht für 8MHz geeignet ist? Der 3.3V ProMini läuft ja nicht auf 16MHz...

pejonp

Zitat von: hjgode am 22 Dezember 2015, 19:58:02
....
wäre es möglich das Pollin Regenmesser Protokoll auch in SignalDuino zu wiederbeleben oder muß ich noch einen FHEMduino parallel laufen lassen um die Signale zu verarbeiten?
Für den PFR-130 (http://www.pollin.de/shop/dt/Nzg0OTYxOTk-/Haustechnik/Wetterstationen_Thermometer/Funk_Regenmesser_PFR_130_mit_Temperaturanzeige.html) habe ich es schon hinbekommen.
......
Hallo Josef,

der PFR-130 wird bei mir mit Signalduino als Model=AURIOL vom 14_CUL_TCM97001.pm erkannt. Jetzt müsste im 14_CUL_TCM97001.pm noch die Erkennung/Errechnung der Regenmenge eingebaut werden. Habe hier (http://forum.fhem.de/index.php/topic,38831.msg335342.html#msg335342) schon mal etwas dazu geschrieben, bin aber mit der Umrechnerei nicht weitergekommen. Vielleicht hast du ja eine Idee.

Tschüß pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

hjgode

Zitat von: Kuzl am 23 Dezember 2015, 17:53:09
Hallo Josef,

ich habe RX->TX und TX->RX verdrahtet
zusätzlich GPIO0 auf RST des Arduino, das flashen hat ja auch funktioniert.
Über Telnet hab ich es noch nicht versucht, allerdings über die Konsole auf der esp-link-Website und direkt über einen FTDI. Da kommt nichts zurück. Auch direkt nach einem Reset kommt nichts auf der Schnittstelle. Im Log scheint es so, als erkennt das Modul den Signalduino, allerdings sobald ein Kommando geschickt wird, verliert es die Verbindung.

Kann es sein, dass die Firmware nicht für 8MHz geeignet ist? Der 3.3V ProMini läuft ja nicht auf 16MHz...

16 oder 8MHz wird normalerweise beim Kompilieren von der Arduino IDE angepasst. Bezieht sich ja auf delay() und andere Zeitabfragen. Der Mini muss trotzdem antworten.

Wie wird denn die IP Adresse zu dem esp-link aufgelöst? Wie hast Du dem ESP-01 Dein WLAN beigebracht? Normalerweise lässt man die WLAN Karte des PC nach Netzwerken suchen und findet dann ein neuse Netz esp_..... Dann verbindet man sich damit und kann dann die esp-link Verbindung konfigurieren. Dann verbindet man sich wieder mit seinem 'normalen' Netzwerk und der ESP sollte mit 'drin' sein. IP Adresse dann über nmap oder so ermitteln, es sei denn Du hast Sie wie ich statisch festgelegt.

Wenn Du den Mini über USB verbindest solltest Du beim Reset im Terminal Programm (zB auch Serial Monitor der Arduino IDE) was sehen.

~josef

Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

hjgode

Zitat von: pejonp am 23 Dezember 2015, 18:17:59
Hallo Josef,

der PFR-130 wird bei mir mit Signalduino als Model=AURIOL vom 14_CUL_TCM97001.pm erkannt. Jetzt müsste im 14_CUL_TCM97001.pm noch die Erkennung/Errechnung der Regenmenge eingebaut werden. Habe hier (http://forum.fhem.de/index.php/topic,38831.msg335342.html#msg335342) schon mal etwas dazu geschrieben, bin aber mit der Umrechnerei nicht weitergekommen. Vielleicht hast du ja eine Idee.

Tschüß pejonp

Hallo Jörg

die Binärdaten der Excel Datei passen aber so gar nicht zum Schema von TFD:


http://www.tfd.hu/tfdhu/files/wsprotocol/auriol_protocol_v20.pdf

general packet format:

bits:
0-7   channel id
8     battery flag
9-31  payload
32-35 CRC

      #                /--------------------------------- 8 bit: Channel, changes after every battery change     
      #               /           / ------------------------ 1 bit: v: Battery state 1 == Ok, 0 = batt below 2.6V
      #              /           / /-------------------------- Battery changed, Sync startet     
      #             /           / /  --------------------------- Unknown     
      #            /           / / /    /------------------------ neg Temp: if 1 then temp = temp - 4096
      #           /           / / /    /-------------------------- 12 Bit Temperature
      #          /           / / /    /               /------------- ??? CRC
      #         /           / / /    /               /       /-------- Trend 10 == rising, 01 == falling
      #                                                         /------- 4 bit CRC
      #         0101 0101  1 0 00   0001 0000 1011  1100  01 00 0000
      # Bit     0          8 9 1              2              3           36 Bits !!
      #         0123 4567  8 9 01   2345 6789 0123  4567  89 01 2345

TEMP/HUMI

0-7   channel
8     battery
9-10  sensor type: 00, 01, 10 => TEMP/HUMI type. 11 => RAIN
      possibly Trend: 00=equal, 01=rising, 10=falling
11    transmit type 0=NORMAL, 1=FORCED
12-23 TEMP signed binary number in 0.1°C
24-27 HUMI tens
28-31 HUMI ones
32-35 CRC: computed n8 = ( 0xf - n0 - n1 - n2 - n3 - n4 - n5 - n6 - n7 ) & 0xf

      n0   n1    n2     n3   n4   n5      n6   n7     n8
      0101 0101  1000   0001 0000 1011    1100 0100   0000


      #         0101 0101  1 00 0   0001 0000 1011    1100 0100   0000
      #         ^          ^ ^  ^   ^                 ^    ^      ^
      #         |          | |  |   |                 |    |      +-------- CRC
      #         |          | |  |   |                 |    +............... HUMI one's
      #         |          | |  |   |                 +-------------------- HUMI ten's
      #         |          | |  |   +-------------------------------------- 12 bit signed TEMP * 0.1°C
      #         |          | |  +------------------------------------------ Transmit FORCED/NORMAL
      #         |          | +--------------------------------------------- Sensor TYPE
      #         |          +----------------------------------------------- battery
      #         +---------------------------------------------------------- CHANNEL


RAIN

0-7   channel
8     battery
9-10  sensor type: 00, 01, 10 => TEMP/HUMI type. 11 => RAIN
11    transmit type 0=NORMAL, 1=FORCED
12-13 always 11=RAIN sensor type
14-15 always 00 for RAIN sensor type
16-31 2 bytes RAIN data cummulated meter * 0.25mm/m²
32-35 CRC: Computed with the following formula: n8 = ( 0x7 + n0 + n1 + n2 + n3 + n4 + n5 + n6 + n7 ) & 0xf
      where nX = nibble number
     
      n0   n1    n2   n3    n4   n5   n6   n7     n8 (CRC)
      0101 0101  0110 0001  0000 1011 1100 0100   0000
     
      #         0101 0101  0 11 0   1100  0100 0010  1111 0001  0000
      #         ^          ^ ^  ^   ^     ^                     ^
      #         |          | |  |   |     |                     +---------- CRC
      #         |          | |  |   |     |                                             
      #         |          | |  |   |     +-------------------------------- 16 Bits, 2 bytes, RAIN summary * 0.25mm
      #         |          | |  |   +-------------------------------------- 1100 for RAIN sensor
      #         |          | |  +------------------------------------------ Transmit FORCED/NORMAL
      #         |          | +--------------------------------------------- Sensor TYPE
      #         |          +----------------------------------------------- battery
      #         +---------------------------------------------------------- CHANNEL
     


Was meinst Du?

~Josef
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

Kuzl

#763
Zitat von: hjgode am 23 Dezember 2015, 18:51:29
16 oder 8MHz wird normalerweise beim Kompilieren von der Arduino IDE angepasst. Bezieht sich ja auf delay() und andere Zeitabfragen. Der Mini muss trotzdem antworten.

Wie wird denn die IP Adresse zu dem esp-link aufgelöst? Wie hast Du dem ESP-01 Dein WLAN beigebracht? Normalerweise lässt man die WLAN Karte des PC nach Netzwerken suchen und findet dann ein neuse Netz esp_..... Dann verbindet man sich damit und kann dann die esp-link Verbindung konfigurieren. Dann verbindet man sich wieder mit seinem 'normalen' Netzwerk und der ESP sollte mit 'drin' sein. IP Adresse dann über nmap oder so ermitteln, es sei denn Du hast Sie wie ich statisch festgelegt.

Wenn Du den Mini über USB verbindest solltest Du beim Reset im Terminal Programm (zB auch Serial Monitor der Arduino IDE) was sehen.

~josef



Hallo Josef,

die IP sollte stimmen, ich habs wie von dir gerade beschrieben gemacht, allerdings nicht statisch wobei die Fritzbox immer die gleiche IP vergibt. Durch die Fritzbox kann ich ihn dann direkt über den Hostnamen "esp-link" ansprechen. Funktioniert auch vom PC aus wunderbar.

Im Terminal direkt am PC sehe ich auch nichts.
Ich habe allerdings nicht selbst kompiliert, sondern die "proMini-Version" von FHEM genommen. Daher die Vermutung mit dem Falschen timing.
Ein defekt des Arduinos kann ich eigentlich ausschließen, da ich vor dem Flashen einen anderen Sketch drauf hatte und der funktionierte wunderbar und gab auch über den esp-link alles wunderbar aus.

EDIT:
Ich habe das jetzt mal selbst für den ProMini mit Einstellungen für 8MHz kompiliert und geflasht
=> jetzt funktioniert alles wie gewünscht.

Von daher habe ich die Bitte, auch ein *.hex für die 8MHz-Version bereitzustellen, da das ja eigentlich für die WIFI-Variante die Beste is, da kein Levelshifter verwendet werden muss und kein unnötiges Zeug drauf ist, das Probleme machen könnte.

pejonp

#764
Zitat von: hjgode am 23 Dezember 2015, 19:12:40
...
die Binärdaten der Excel Datei passen aber so gar nicht zum Schema von TFD:
...
Hallo Josef,

etwas muß etwas passen den die Temp-Werte werden richtig angezeigt. Vielleicht geht auch ein andere Wettersensor aus dem 14_CUL_TCM97001.pm, habe ich noch nicht ausprobiert, ich glaube dieser wurde automatisch erkannt.

Es wird nur kein Humi angezeigt. An dieser Stelle liegen die Daten vom rain, so würde ich das deuten an Hand meiner gesammelten Daten. Das muß aber nicht stimmen ;-(. Es werden auch nur die gerade gezählten Wippenschläge übertragen. Der Sensor speichert nichts. Diese Daten müssen im Empfänger aufaddiert und gespeichert werden.
Es werden bei jeder Übertragung, so glaube ich, die Temperatur und wenn die Wippen bewegt wurde auch die Wippenschläge übertragen. Wenn die Wippe nicht bewegt wurde, wird nur die Temp übertragen.

TEMP/HUMI

0-7   channel
8     battery ??
9-10  sensor type: 00, 01, 10 => TEMP/HUMI type. 11 => RAIN  ??
      possibly Trend: 00=equal, 01=rising, 10=falling  ??
11    transmit type 0=NORMAL, 1=FORCED  ??
12-23 TEMP signed binary number in 0.1°C
24-27 HUMI tens --> beim PFR-130 ist diese immer Null, ausser es wurden Wippenschläge gezählt
28-31 HUMI ones --> und hier
32-35 CRC: computed n8 = ( 0xf - n0 - n1 - n2 - n3 - n4 - n5 - n6 - n7 ) & 0xf

                  n0     n1       n2      n3     n4      n5        n6    n7      n8
                  0101 0101  1000   0001 0000 1011    1100 0100   0000


      #         0101 0101  1 00 0   0001 0000 1011    0000 0000   0000
      #         ^                ^ ^  ^   ^                            ^      ^        ^
      #         |                  |   |    |   |                             |       |         +-------- CRC ??
      #         |                  |   |    |   |                             |       +... PFR-130 ist diese immer Null,
      #         |                  |   |    |   |                             +---------- ausser es wurden Wippenschläge gezählt
      #         |                  |   |    |   +-------------------------------------- 12 bit signed TEMP * 0.1°C
      #         |                  |   |   +------------------------------------------ Transmit FORCED/NORMAL ??
      #         |                  |   +--------------------------------------------- Sensor TYPE ??
      #         |                 +----------------------------------------------- battery ??
      #         +---------------------------------------------------------- CHANNEL


Beim PFR-130 sind die Nibbel 6 und 7 immer Null, ausser es werden die gerade gezählten Wippenschläge übertragen.

n0     n1    n2     n3-n5 Temp         Temp  n6       n7   n2+n6+n7         Rain Anzeige(mm)  Rain Übertragen (mm) Wippenschläge
0000 0111 0000 0000 1101 1101 22,1   0011 1001 000000111001       1                               1                       2
0000 0111 0000 0000 1101 1111 22,3   0100 0101 000001000101    2,5                            1,5                   3

Ich konnte bei den Werten von n6 und n7 noch kein Muster erkennen, wie ein, zwei, drei oder mehr Wippenschläge gezählt werden. In der Exceldatei wird ab Zeile 23 hochgezählt, mit unterschiedlichen Wippenschlägen. Vielleicht siehst du ja was.

Jörg

LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect