SIGNALDuino Empfänger Firm- und Hardware

Begonnen von Ralf9, 02 Oktober 2016, 22:59:51

Vorheriges Thema - Nächstes Thema

trebron106

Hallo Ralf,

ich habe zur Zeit eine Uptime von > 3 Tagen ohne Reset im laufenden System.
Das mit den Reseten liegt an der Interrupt Routine, die Routine muß wie folgt definiert werden :

void ICACHE_RAM_ATTR handleInterrupt()

wichtig ist das Attribute

ICACHE_RAM_ATTR 

ZitatWell, attachInterrupt is not in IRAM, so calling it from an interrupt handler is not safe.

Das Senden und Empfangen in meiner Umgebung funktioniert bis jetzt fehlerfrei.

Gruß
Klaus



majorshark

Hallo. Ich habe den Signalduino mit 433MHz bei mir am laufen und steuere damit meine Somfy Rollläden, ein paar IT Steckdosen sowie eine Markise mit Dooya Motor. Die Somfy's und Dooya funktionieren einwandfrei.
Bei den IT Steckdosen habe ich ein Problem. Wenn ich diese einzeln schalte funktionieren diese Einwandfrei.

Wenn ich dagegen diese in einem DOIF verwende und diese nacheinander schalten möchte
DOELSE
(set ElroB off, set ElroD off, set KerzenlichtWohnzimmer off, set WifiLightKueche off 10)


wird "ElroD" zu 99% nicht ausgeschaltet.

Etwas besser wird es wenn ich zwischen den beiden Befehlen für die Elro's etwas anderes machen lasse. So zum Beispiel.

DOELSE
(set ElroB off, set KerzenlichtWohnzimmer off, set ElroD off, set WifiLightKueche off 10)


Die Definition des zweiten Elro's sieht so aus.
defmod ElroD IT 0FF0FFFF0F 0F F0
attr ElroD IODev sduinoCC1101
attr ElroD model itswitch
attr ElroD room 2.1_Licht

setstate ElroD off
setstate ElroD 2017-04-09 13:36:59 protocol V1
setstate ElroD 2017-05-11 06:31:37 state off


Der state steht auch auf off aber tatsächlich ist die Seckdose noch an. Da ich diese sofort einzeln schalten kann, schließe ich Sende/Empfangsprobleme aus.
Habe ich jetzt noch etwas in der Definition und/oder den Atributen vergessen oder übersehen? Oder an was kann es noch liegen?


Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

RaspiLED

#347
Hi,
Wenn man schreibt
A off, B off, C off
Wird alles parallel gemacht. Da müssen Pausen rein ;-)
Ausserdem sehe ich gar kein Repetition (3 oder 6) für ElroD. Das könnte aber auch helfen.
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Ralf9

Beim Signalduino wird nicht parallel gesendet. Es gibt eine Sende Warteschlange

Ich habe zum Testen eine structure mit 3 ITv1 Steckdosen angelegt.

In der dev-r33 Version wird nach dem Senden gewartet bis vom sduino eine Antwort kommt, daß gesendet wurde.

2017-05-11 18:07:52.498 structure SchalterStruc off
2017.05.11 18:07:52.498 3 : sduino IT_set: IT_0F0000000F off
2017.05.11 18:07:52.501 5 : sduino/write: adding to queue sendMsg P3#is0F0000000FF0#R6
2017.05.11 18:07:52.501 3 : sduino IT_set: IT_0F000F000F off
2017.05.11 18:07:52.503 5 : sduino/write: adding to queue sendMsg P3#is0F000F000FF0#R6
2017.05.11 18:07:52.503 3 : sduino IT_set: IT_0F00F0000F off
2017.05.11 18:07:52.505 5 : sduino/write: adding to queue sendMsg P3#is0F00F0000FF0#R6

2017.05.11 18:07:52.612 4 : sduino SendFromQueue: msg=SR;R=6;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01040404230404040404040404040404040404042304230404;
2017.05.11 18:07:52.839 4 : sduino/read sendraw answer: SR;R=6;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01040404230404040404040404040404040404042304230404;

2017.05.11 18:07:52.849 4 : sduino SendFromQueue: msg=SR;R=6;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01040404230404040404040423040404040404042304230404;
2017.05.11 18:07:53.101 4 : sduino/read sendraw answer: SR;R=6;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01040404230404040404040423040404040404042304230404;

2017.05.11 18:07:53.111 4 : sduino SendFromQueue: msg=SR;R=6;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01040404230404040404230404040404040404042304230404;
2017.05.11 18:07:53.363 4 : sduino/read sendraw answer: SR;R=6;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=01040404230404040404230404040404040404042304230404;


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

Sidey

Das mit dem ICACHE_RAM_ATTR Parameter finde ich interessant.

Ich werde das ausprobieren. Wäre ja super, wenn der ESP dann läuft.

Was das Senden über die Warteschlange angeht, diese haben wir. Allerdings habe ich das schon öfters gelesen, dass es Probleme gibt. Irgendwas haben wir da vielleicht über sehen.

Gesendet von meinem Nexus 5 mit Tapatalk

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

andies

In einem anderen Post habe ich ja vermutet, dass die internen (im Signalduino eingestellten) 0,23s Wartezeit nicht reicht.


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

majorshark

Alles klar. Danke für die Info. Da werde ich versuchen das anders zu lösen.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Ralf9

Zitat von: majorshark am 12 Mai 2017, 11:34:18
Alles klar. Danke für die Info. Da werde ich versuchen das anders zu lösen.
Mit der dev-r33 müsste es mit den IT Steckdosen eigentlich funktionieren
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt

Bei der dev-r33 Version gibt es keine feste Wartezeit. Mit dem Senden der nächsten Sendenachricht wird gewartet bis die vorherige Sendenachricht vollständig gesendet wurde (sduino/read sendraw answer: ..)

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

majorshark

Ich habe das Update gemacht und das DOIF wieder geändert. Kann jetzt aber noch nicht nachsehen ob es funzt.
Die FW auf dem Stick ist wie vorher auch V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Ralf9

ZitatWenn ich dagegen diese in einem DOIF verwende und diese nacheinander schalten möchte

DOELSE
(set ElroB off, set ElroD off, set KerzenlichtWohnzimmer off, set WifiLightKueche off 10)


wird "ElroD" zu 99% nicht ausgeschaltet.

Hat alles was Du mit 433MHz gemeinsam schaltest das gleiche IODev sduinoCC1101?

Mit unterschiedlichen IODevs funktioniert es nicht

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

trebron106

Hallo Ralf,
Hallo Sidey,

ich hänge mal 2 neue Versionen zum Flashen für den Wemos D1 Mini und den Quellcode an.
Die Version SIGNALduino_C1101.bin  ist wie der Name es schon sagt  für das CC1101 Modul ,
die SIGNALEsp.bin  ist für 433Mhz Empfänger MX-FS und Sender FS1000A.
(Wemos Pin D3 / GPIO 0 Sendedaten, Pin D4 GPIO 2 Empfangsdaten)

Ich habe noch einige kleine Änderungen und Optimierungen für den ESP eingefügt. 
Ins besondere habe ich die Fifo Länge auf 255 erhöht, damit klappt bei mir der Empfang sehr gut.

Ich habe eine Uptime von über 5 Tagen ohne Neustarts oder Abstürze des ESP.
Gruß

Klaus

majorshark

Zitat von: Ralf9 am 12 Mai 2017, 18:54:09
Hat alles was Du mit 433MHz gemeinsam schaltest das gleiche IODev sduinoCC1101?

Mit unterschiedlichen IODevs funktioniert es nicht

Gruß Ralf

Hat es . Geht alles über den SignalDuino 433MHz mit CC1101 raus.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

Sidey

Zitat von: trebron106 am 13 Mai 2017, 18:43:48
Ich habe noch einige kleine Änderungen und Optimierungen für den ESP eingefügt. 
Ins besondere habe ich die Fifo Länge auf 255 erhöht, damit klappt bei mir der Empfang sehr gut.

Hallo Klaus,
Danke für deinen Beitrag. Kannst Du die Änderungen in Form von Pull Requests in github beisteuern?
Da können wir uns die einzelnen Anpassungen dann separat ansehen, was jetzt so leider nicht möglich ist.

Den ICACHE_RAM_ATTR habe ich schon ausprobiert. Leider spinnt meine Maus rum, wenn ich den ESP anbinde. Das muss ich noch herausfinden, was dafür verantwortlich ist.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

trebron106

Hallo Sidey,

da ich keinen GIT HUB Account habe, hänge mal die Diffs von meinen Änderungen an.
Ich hoffe so kannst du meine Änderungen nach vollziehen.

Gruß
Klaus

Sidey

Zitat von: trebron106 am 14 Mai 2017, 10:06:31
da ich keinen GIT HUB Account habe, hänge mal die Diffs von meinen Änderungen an.
Ich hoffe so kannst du meine Änderungen nach vollziehen.

Hallo Klaus,

Danke. Das macht es natürlich etwas leichter.
Nur das Diskutieren ist nicht so komfortabel.  :-\

Ich versuche mal eben zusammenzufassen was ich so beim ersten durchschauen erkannt habe:

cc1101.h

Hier hast Du die SPI Bibliothek eingebaut. Gibt es dafür einen besonderen Grund? Hat diese vorteile gegenüber der aktuellen Implementierung?

output.h

Ausgaben für den ESP angepasst. Ist soweit klar.

RF_Receiver.ino


  • Hier hast Du diverse Arduino Boards entfernt und dann Pins angepasst.
  • Einen Telnet Server gestartet
  • Auskommentierte Zeilen entfernt
  • Interrupts in RAM gelegt
  • EEProm Anpassungen vorgenommen


SignalDecoder.cpp
Die RSSI Callback nur aufrufen, wenn ein CC1101 erkannt wurde.


Habe ich etwas übersehen?

Was mich am meisten Interessiert. Wieso hast Du die Anpassungen nicht vom SIGNALESP gemacht.
Was ich nun wo übernehme weiss ich noch nicht genau.


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

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