Signalduino Entwicklung

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

Vorheriges Thema - Nächstes Thema

Ralf9

Zitat von: Sidey am 24 April 2016, 20:34:44
Stellst Du die Änderungen noch als Patch bereit, damit Björn es in die Standard Version einchecken kann?

Ja, werde ich machen.
Ich möchte aber noch abwarten, bis der dev-r32 Branch im Master ist, damit meine anpassungen auch mit der master funktionieren.

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

Funsailor

Hallo,
ich habe mir nun einen 2ten "FhemDuino" gemacht und wollte den, wie ich es beim FhemDuino gemacht habe, über die Arduino "IDE" betanken.
Aber wie...
Ich nutze Arduino 1.6.5 und Win10 64Bit.
Ich habe mir die Dateien von hier geholt: https://github.com/RFD-FHEM/SIGNALDuino
Aber wie beim Fhemduino einfach mal machen geht nicht.
Der Signalduino Sketch ist leer...
Also habe ich den RF_Receiver Sketch genommen und wie im Readme beschrieben alle Source Dateien ins Verzeichniss kopiert.
Allerdings musste ich noch diverse #include <xxx.h> in #include "xxx.h" ändern.
Der Versuch z.B. TimerOne als Lib zu installieren schlug fehl.

Nun hänge ich an dem Fehler "error: 'TIMER1_A_PIN' was not declared in this scope"

Eigentlich kein großes Ding, aber bevor ich nun weitermache wollte ich erst mal Anfragen wie Ihr das so gemacht habt.

Danke
Funsilor

- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Ralf9

Zitat von: Funsailor am 27 April 2016, 17:49:39
Ich habe mir die Dateien von hier geholt: https://github.com/RFD-FHEM/SIGNALDuino
Aber wie beim Fhemduino einfach mal machen geht nicht.

Das selbstkompilieren ist beim SIGNALduino nicht notwendig. Es geht viel einfacher. Die Firmware ist bereits fertig kompieliert und befindet sich in FHEM/firmware.

Hast Du dies gelesen?
http://www.fhemwiki.de/wiki/SIGNALduino

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

Funsailor

Hallo Ralf,
ja klar habe ich das gelesen.
Aber ich will das Teil am PC nutzen und dort auch kompilieren/laden.
Ich hatte am Anfang auch mit dem Fhemduino verschieden Versuche gemacht.
Meine Fhem Zentrale sitzt so das ich dort keine Versuche durchführen kann, bzw dies sehr umständlich wäre.

Gruß Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.50 -

Ralf9

Hallo Sidey,

ich habe mal versucht die "3.2.0-b22" mit der Arduino IDE 1.6.5 zu kompilieren. Einige der errors und warnings habe ich wegbekommen.
Einige sind noch übriggeblieben:

RF_Receiver.ino:835:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
In file included from RF_Receiver.ino:47:0:
bitstore.h: In instantiation of 'void BitStore<bufSize>::reset() [with unsigned char bufSize = 50u]':
bitstore.h:78:11:   required from 'BitStore<bufSize>::BitStore(uint8_t) [with unsigned char bufSize = 50u; uint8_t = unsigned char]'
signalDecoder.h:132:131:   required from here
bitstore.h:160:19: warning: converting to non-pointer type 'unsigned char' from NULL [-Wconversion-null]
       datastore[i]=NULL;
                   ^
In file included from signalDecoder.h:40:0,
                 from signalDecoder.cpp:32:
bitstore.h: In instantiation of 'void BitStore<bufSize>::reset() [with unsigned char bufSize = 50u]':
signalDecoder.cpp:894:23:   required from here
bitstore.h:160:19: warning: converting to non-pointer type 'unsigned char' from NULL [-Wconversion-null]
       datastore[i]=NULL;
                   ^
/usr/bin/avr-ld: warning: -z relro ignored.

Der Sketch verwendet 19.088 Bytes (62%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes.
Globale Variablen verwenden 942 Bytes (45%) des dynamischen Speichers, 1.106 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.


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

habeIchVergessen

unbekannte Geräte für Signalduino gefunden:

BELL 201.2 TXA (Sender) an BELL 200.2 RX:


V 3.2.0-b22 SIGNALduino - compiled at Apr 18 2016 22:59:19
MU;P0=-282;P1=351;P2=-601;P3=-4800;P4=663;D=01213104212121210421040404212131042121212104210404042121310421212121042104040421213104212121210421040404212131042121212104210404042121310421212121042104040421213104212121210421040404212131042121212104210404042121310421212121042104040421213104212121210421;CP=1;O;
MU;P0=612;P1=-651;P2=310;P3=-331;P4=-4829;D=01212121230123030301212423012121212301230303012124230121212123012303030121242301212121230123030301212423012121212301230303012124230121212123012303030121242301212121230123030301212423012121212301230303012124230121212123012303030121242301212121230123030301;CP=2;O;
MU;P0=-639;P1=309;P2=-317;P3=627;P4=-4845;D=01230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123;CP=1;O;
MU;P0=-625;P1=330;P2=-304;P3=639;P4=-4840;D=01010101230123232301014123412301010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123010101012301232323010141230101010123012323;CP=1;O;
MU;P0=317;P1=-623;P2=-305;P3=640;P4=-4824;D=01010231023232310104023101010102310232323101040231010101023102323231010402310101010231023232310104023101010102310232323101040231010101023102323231010402310101010231023232310104023101010102310232323101040231010101023102323231010402310101010231023232310104;CP=0;O;
MU;P0=331;P1=-305;P2=639;P3=-623;P4=-4828;D=01230303030123012121230304030401230303030123012121230304012303030301230121212303040123030303012301212123030401230303030123012121230304012303030301230121212303040123030303012301212123030401230303030123012121230304012303030301230121212303040123030303012301;CP=0;O;
MU;P0=-622;P1=333;P2=-305;P3=640;P4=-4850;D=01010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301014123010101012301232323010141230101010123012323230101412301010101230123232301;CP=1;O;
MU;P0=-624;P1=327;P2=-4838;P3=-305;P4=639;D=01213401010101340134343401340134343401012134010101013401343434010121340101010134013434340101213401010101340134343401012134010101013401343434010121340101010134013434340101213401010101340134343401012134010101013401343434010121340101010134013434340101213401;CP=1;O;


im log von FHEM steht dann folgendes

2016.04.29 12:01:18 4: sduino: decoded matched MU Protocol id 30 dmsg u30#85C length 12
2016.04.29 12:01:18 3: Dispatch: dispatch 'u30#85C'
2016.04.29 12:01:18 3: computeClientArray
2016.04.29 12:01:18 3: Dispatch: clientArray done
2016.04.29 12:01:18 3: Dispatch: autoload
2016.04.29 12:01:18 4: SIGNALduino_unknown incomming msg: u30#85C
2016.04.29 12:01:18 4: SIGNALduino_unknown rawData: 85C
2016.04.29 12:01:18 4: SIGNALduino_unknown Protocol: 30
2016.04.29 12:01:18 4: SIGNALduino_unknown converted to bits: 100001011100
2016.04.29 12:01:18 3: Dispatch: not found
2016.04.29 12:01:18 3: Dispatch: found Unknown, please report


ich bin neu in em Thema und könnte/werde eure Hilfe brauchen.
wie geht es jetzt weiter?

1.fhemtester

Beiliegende 14_SD_UT kopieren In 00_SIGNALduino ergänzen/ändern:



my $clientsSIGNALduino

                  ."Dooya:"
                                          ."SD_UT:"
                  ."SIGNALduino_un:"

und in

my %ProtocolListSIGNALduino

     "14:Dooya"            => '^P16#[A-Fa-f0-9]+',
     "15:SD_UT"            => '^u30#.*',
     "X:SIGNALduino_un"         => '^[uP]\d+#.*',

sowie

   "30" => # a unitec remote door reed switch
      {
            name         => 'unitec47031',   
         id             => '30',
         one            => [-1,2],
         zero         => [-2,1],
         start         => [-33,1],            # Message is not provided as MS, worakround is start
         clockabs      => 300,                 # ca 300 us
         format          => 'twostate',           # there is a pause puls between words
         preamble      => 'u30#',            # prepend to converted message   
         clientmodule    => 'SD_UT',               # not used now
         modulematch     => '^u30',              # not used now
         length_min      => '12',
         length_max      => '12',            # message has only 10 bit but is paddet to 12
      },

reload von 14_SD_UT und in 00_SIGNALduino

Ausprobieren, gegebenfalls Fehler ausbessern und hier berichten.

habeIchVergessen

#1567
autocreate hat ein UNITEC_85 angelegt.


2016.04.30 13:55:48 4: sduino: Fingerprint for MU Protocol id 30 -> unitec47031 matches, trying to demodulate
2016.04.30 13:55:48 4: sduino: decoded matched MU Protocol id 30 dmsg u30#85C length 12
2016.04.30 13:55:48 5: Triggering sduino (1 changes)
2016.04.30 13:55:48 5: Notify loop for sduino opened
2016.04.30 13:55:48 5: Notify from Device: sduino recieved
2016.04.30 13:55:48 3: Dispatch: dispatch 'u30#85C'
2016.04.30 13:55:48 3: computeClientArray
2016.04.30 13:55:49 3: Dispatch: clientArray done
2016.04.30 13:55:49 3: Dispatch: autoload
2016.04.30 13:55:49 5: Loading ./FHEM/14_SD_UT.pm
2016.04.30 13:55:49 3: SD_UT_Parse: Protocol: 30, rawData: 85C
2016.04.30 13:55:49 3: sduino Heidemann/FAAC devicecode=85, sound=1100
2016.04.30 13:55:49 1: SD_UT: UNDEFINED sensor UNITEC detected, code UNITEC_85
2016.04.30 13:55:49 3: Dispatch: not found
2016.04.30 13:55:49 3: Dispatch: found UNDEFINED UNITEC_85 SD_UT UNITEC_85
2016.04.30 13:55:49 5: Triggering global (1 changes)
2016.04.30 13:55:49 5: Notify loop for global UNDEFINED UNITEC_85 SD_UT UNITEC_85
2016.04.30 13:55:49 2: autocreate: define UNITEC_85 SD_UT UNITEC_85
2016.04.30 13:55:49 5: Triggering global (2 changes)
2016.04.30 13:55:49 2: autocreate: define FileLog_UNITEC_85 FileLog ./log/UNITEC_85-%Y.log UNITEC_85
2016.04.30 13:55:49 5: Triggering global (3 changes)
2016.04.30 13:55:49 5: Triggering global (4 changes)
2016.04.30 13:55:49 5: Notify from Device: global recieved



Internals:
   CFGFN
   CODE       UNITEC_85
   DEF        UNITEC_85
   LASTInputDev sduino
   MSGCNT     1
   NAME       UNITEC_85
   NR         41
   STATE      1100
   TYPE       SD_UT
   bitMSG     100001011100
   lastMSG    85C
   lastReceive 1462018193
   sduino_DMSG u30#85C
   sduino_MSGCNT 1
   sduino_RAWMSG MU;P0=330;P1=-306;P2=639;P3=-624;P4=-4854;D=0012303030301230121212303040123030303012301212123030401230303030123012121230304012303030301230121212303040123030303012301212123030401230303030123012121230304012303030301230121212303040123030303012301212123030401230303030123012121230304012303030301230121;CP=0;O;
   sduino_TIME 2016-04-30 14:09:53
   Readings:
     2016-04-30 14:09:53   channel         85
     2016-04-30 14:09:53   sound           1100
     2016-04-30 14:09:53   state           1100
Attributes:
   room       SD_UT
   verbose    5


Ich vermute, das jetzt die Daten verarbeitet werden müssen (Parse in 14_SD_UT.pm). Sofern da noch mehr als das eigentliche Event zu holen ist.

Danke

PS: anbei die geänderte Datei 00_SIGNALduino.pm (Beschreibung war ein wenig holprig). Musste ein shutdown restart ausführen, damit die Änderungen übernommen wurden.

sash.sc

#1568
Musste feststellen das der sduino nach einem Neustart /reboot nicht automatisch erkannt wird (disconnected). Erst nach abziehen und wieder abstecken ist der erst wieder da.

Gibt es da eine Lösung für?

Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

RaspiLED

Hi Sascha,

Das habe ich auch! Ausstecken und Einstecken hilft immer.

Ich denke ich werde mal diese Lötung des Test Pins des FT232 an Masse vornehmen:

https://ketturi.kapsi.fi/2014/04/how-to-fix-moody-arduino-nano/

Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

sash.sc

#1570
Danke für die Info. Finde es nur komisch, dass es bei den anderen selbstbau sticks funktioniert.

Nanocul 443 läuft
Nanocul 868 läuft
Nanocul /jeelink läuft nicht
Nanocul /sduino läuft nicht

Alle haben einen ftdi Chip drauf und machen soweit keine Probleme. Alle nano v3 sind in Deutschland bestellt worden.

Die beiden nanocul sind mir der a-fw betankt.

Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Sidey

Hi Sascha,

kannst Du bitte genauer beschreiben, was man tun muss, um den Fehlerfall zu reproduzieren?

Ich würde das gerne mal testen.

Auch wäre gut, wenn Du deinen Hardware Aufbau genauer beschreibst.

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

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

sash.sc

Hi Sidey.
Kein Problem, habe einfach einen reboot des raspi durchgeführt. Fhem wird ja automatisch gestartet.

Wenn ich mir dann meine sticks anschaue, sind der sduino und der jeelink disconnected.
Die einzigen beiden sticks die laufen, sind die nanocul's.
Alle sticks sind auf der Basis von einem arduino nano v3. Die beiden nanoculs sind mit nem 433 und 868 MHz cc1101 ausgestattet.  Beide haben alternativ Firmware drauf.
Der sduino ist auch ein nano v3 mit nem superheterodyne Empfänger ausgestattet. Als Sender ist ist ein Standard Sender Modul für 433 MHz noch drauf.
Der jeelink Nachbau auch auf Basis von einem arduino nano v3 und einem rfm12b Modul.
Als System läuft ein raspi 2 und Debian Jessie auf dem aktuellen Stand.
Den sduino und den jeelink kann ich nur zum Leben erwecken, wenn ich die beiden sticks vom USB abziehe und wieder dran stecke.

Fhem ist auch auf dem aktuellen Stand.

Brauchst du sonst noch was an Infos?

Gruß Sascha

Gesendet von meinem SM-T560 mit Tapatalk
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

habeIchVergessen

@sash.sc

was liefert 'stty -aF <device name>' für die o.g. Sticks?

sash.sc

#1574
für den sduino:

speed 57600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke



für den CUL433 MHz


speed 38400 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke


JeeLink


speed 57600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke


CUL868


speed 38400 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 0; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl echoke


root@raspi:/dev/serial/by-id# ls -l
insgesamt 0
lrwxrwxrwx 1 root root 13 Mai  2 06:29 usb-FTDI_FT232R_USB_UART_A10489BJ-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Mai  2 06:30 usb-FTDI_FT232R_USB_UART_A10489VD-if00-port0 -> ../../ttyUSB3
lrwxrwxrwx 1 root root 13 Apr 30 17:47 usb-FTDI_FT232R_USB_UART_A5010SN6-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Apr 30 17:47 usb-FTDI_FT232R_USB_UART_A92P5ZJJ-if00-port0 -> ../../ttyUSB0


das was mir auffällt ist, die Sticks die nicht initialisiert werden, laufen auf 57600 Baud.

Grüße
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb