Verschiedene Decoder-Chips mit Signalduino oder Cul schalten

Begonnen von rippi46, 29 Oktober 2015, 23:22:03

Vorheriges Thema - Nächstes Thema

rippi46

Hi Sidey,

hat sich in der Zwischenzeit etwas an der Senderoutine für den Manchestercode getan??

Grüße

Rippi

P.S.: Das Erkennen der verschiedenen Tasten ist sehr zuverlässig.
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Sidey

Hallo Rippie,

Leider nein.
Ich bin auch zu der Erkenntnis gelangt, dass es dir nichts bringen wird, wenn ich Manchester Senden erweitere.
Grund liegt in dem Abschnitt zwischen Präambel Daten. Da kommen zwei Signale die ja nicht Manchester konform sind.

Nungut, man könnte natürlich einfach mal probieren, ob der Empfänger nicht trotzdem was erkennt, auch ohne passende Präambel.

Andernfalls, wäre es nötig eine art Mix aus Raw und Manchester zu basteln. Grundsätzlich möglich, in dem man die einzelnen Kommandos voneinander abtrennt und seriell behandelt.

Könnte grob so aussehen der Befehl :

SM;C=400;D=FFFFFF;SR;R=1;P0=1700;p1=200;SM;C=400;D=04ac......;


Dann müsste ich halt alle Kommandos (SM bzw. SR) abtrennen und anschließend dir Kommandos danach abarbeiten.

Vielleicht fällt mir auch noch ein, wie ich das ganze Kapseln könnte, da wir den ganzen Block ja auch wiederholen möchten.

Zumindest habe ich jetzt mal eine grobe Idee.

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

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

rippi46

#32
Hallo Sidey,

bekomme momentan beim "update" (update force http://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r32/controls_signalduino.txt) folgende Fehlemeldung:

UPD FHEM/firmware/SIGNALduino_nano328.hex
UPD FHEM/firmware/SIGNALduino_promini328.hex
UPD FHEM/firmware/SIGNALduino_uno.hex
UPD FHEM/14_SD_WS07.pm
Got 9034 bytes for FHEM/14_SD_WS07.pm, not 9023 as expected,
aborting.


Gruß Rippi

geht wieder!!
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Sidey

Hi Rippie,

Ich habe versucht den Sendeteil für Manchester und auch kombiniert Manchester und sonstiges zu etablieren.

Die Befehle lassen sich schon mal kombinieren und werden auch erkannt.

Das Senden mit Manchester funktioniert aber leider nicht. Ich habe das ganze noch nicht so im Detail analysiert.
Ich weiss im Moment nur, dass es sehr seltsam ist und auf der Empfangsseite nicht das ankommt, was gesendet wird.

Wo hast Du deine Chips eigentlich bestellt und wie schaut das mit dem Verbrauch aus?

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

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

rippi46

Hallo Sidey,

Bestellt habe ich die Chips bei RS im PDIP-Gehäuse. Als SOIC-gehäuse sind sie noch kleiner.
Über den Verbrauch kann ich leider noch nichts sagen, aber laut Datenblatt ist der sehr gering.
Wenn man die Labels der Chips entfernt entpuppen sich der Encoder als 10F202 Microcontroller und der
Decoder als 12F629 Microcontroller.

Ich hatte die Chip hauptsächlich wegen der einfachen und kleinen Schaltung gewählt, da keinerlei Codierung über Dipschalter erfolgt.
Somit lässt sich mit wenig Aufwand ein Empfangsmodul ( wie in der Aldi-Lampe) abkoppeln und fernbedienen.

Gruß Rippi

FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Sidey

hi rippie,

Ich habe das Senden nun implementiert.

Manchester senden geht mit
SM;R=2;C=400;D=FFFFA0;

R sind die Wiederholungen
C ist der Takt
D ist die Nachricht.

Kombiniertes senden raw/manchester geht auch:

SC;R=2;SR;P0=-2500;D=0;SM;C=400;D=AAFF0;

Dabei würde ein langer low pegel vor der Manchester Übertragung stehen.

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

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

rippi46

Hallo Sidey,

Danke erst mal!!

Werde es heute Abend testen

Gruß Rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

rippi46

#37
Hallo Sidey,

ich habe jetzt einige Tests durchgeführt. Am Anfang war das ganze mit wenig Erfolg gekrönt. Nachdem ich mir mit der Logikanalyse die gesendeten Signal angesehen habe, hatte ich festgestellt, dass der erkannte Code vom Sduino invertiert gesendet wird und natürlich auch nicht mit dem übereinstimmt, was der Chip tatsächlich sendet.

erkannt von sduino:
52240007F803FD74

heraus kommt aber beim Senden das invertierte Signal.

Wenn ich von einer Startsequenz von -1700 +300 Microsekunden ausgehe und noch das Signal Invertiere, ist der negative Impuls 8mal so lang.
Also habe ich einen Negativen Impuls von 380 Microsekunden eingestellt damit ich ca 1700 Microsekunden bei der Ausgabe erhalte.
Beim Senden dieser Sequenz konnte ich dann meine Lampe schalten.

set sduino raw SC;;R=500;;SM;;C=367;;D=FFFF;;SR;;P0=-380;;P1=367;;D=01;;SM;;C=367;;D=2B76FFFE01FF00A2;;

Die 500 Wiederholungen hatte ich nur gemacht, damit ich das Signal mit der Logikanalyse aufzeichnen konnte. Der erste LOW-Impuls nach der Startsequenz
ist noch etwas zu lang.

Prinzipiell kann ich jetzt zwar senden. Ist aber noch etwas kompliziert.

Wirklich tolle Arbeit.

Gruß Rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Sidey

Hi Rippie46,

Zitat von: rippi46 am 04 Dezember 2015, 11:20:52
erkannt von sduino:
52240007F803FD74

heraus kommt aber beim Senden das invertierte Signal.
Welche Version / Firmware vom sduino?  Mit invertiert meinst Du 0=1 und 1=0?

Zitat von: rippi46 am 04 Dezember 2015, 11:20:52
Wenn ich von einer Startsequenz von -1700 +300 Microsekunden ausgehe und noch das Signal Invertiere, ist der negative Impuls 8mal so lang.
Also habe ich einen Negativen Impuls von 380 Microsekunden eingestellt damit ich ca 1700 Microsekunden bei der Ausgabe erhalte.
Wow, jetzt wird es ja seltsam. Also noch mal ganz langsam. Du gibst -380 an und erhältst low 1700 (gemessen über Logikanalyse .


Zitat von: rippi46 am 04 Dezember 2015, 11:20:52
Beim Senden dieser Sequenz konnte ich dann meine Lampe schalten.

Prinzipiell kann ich jetzt zwar senden. Ist aber noch etwas kompliziert.

Das ist ja wirklich eine gute Nachricht. Auch wenn der Weg doch ziemlich holprig war.
Ich müsste jetzt nur mal verstehen, was da alles schief läuft. Hört sich ja schon etwas nach Abenteuer an.

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

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

rippi46

Hi Sidey,

ich hatte versucht eine Lampe zu schalten und habe mir anhand der logs das Signal zusammengebaut. Da ich aber mit keiner meiner Versuche die Lampe schalten konnte wollte ich mir das gesendete Signal mit Logikanalyse anschauen.Dabei stellte ich fest, dass nicht das gesendet wurde was ich eingestellt hatte. Zum einen war der Low-Impuls von 1700 Micros mehr als doppelt so lang. Der erste High-Impuls dagegen hatte die richtige Länge. Zu allerletzte war noch das Signal Invertiert. Also 0=1 und 1=0.
Ich verwende momentan die b5 Version.
Ja ich gebe -380 ein und erhalte -1700 gemessen über Logikanalyse.  Aber komischerweise gebe ich auch für PC 367 ein und erhalte aber auch 367.

Brauchst du noch irgendwelche Logs oder Dateien der Logikanalyse?

Gruß Rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Sidey

Zitat von: rippi46 am 04 Dezember 2015, 23:06:47
Hi Sidey,

ich hatte versucht eine Lampe zu schalten und habe mir anhand der logs das Signal zusammengebaut. Da ich aber mit keiner meiner Versuche die Lampe schalten konnte wollte ich mir das gesendete Signal mit Logikanalyse anschauen.Dabei stellte ich fest, dass nicht das gesendet wurde was ich eingestellt hatte. Zum einen war der Low-Impuls von 1700 Micros mehr als doppelt so lang. Der erste High-Impuls dagegen hatte die richtige Länge. Zu allerletzte war noch das Signal Invertiert. Also 0=1 und 1=0.
Ich verwende momentan die b5 Version.
Ja ich gebe -380 ein und erhalte -1700 gemessen über Logikanalyse.  Aber komischerweise gebe ich auch für PC 367 ein und erhalte aber auch 367.

Brauchst du noch irgendwelche Logs oder Dateien der Logikanalyse?

Gruß Rippi

Wenn Du hast, das npy File, was mit der Logikanalyse gespeichert werden kann. Wenn Du es nicht mehr hast, nicht tragisch. Ich kann es ja selbst nachstellen.

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

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

rippi46

#41
Hallo Sidey,

folgende Signale habe ich mit dem Sduino gesendet

set sduino raw SC;;R=500;;SM;;C=367;;D=FFFF;;SR;;P0=-380;;P1=367;;D=01;;SM;;C=367;;D=2B76FFFE01FF00A2;;

set sduino raw SC;;R=500;;SM;;C=367;;D=FFFF;;SR;;P0=-380;;P1=367;;D=01;;SM;;C=367;;D=2B76FFFD02FF00A2;;

set sduino raw SC;;R=500;;SM;;C=367;;D=FFFF;;SR;;P0=-380;;P1=367;;D=01;;SM;;C=367;;D=2B76FFFB04FF00A2;;

und hier sind die Sduino-Signal und die Originale des RF803E

Gruß Rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

rippi46

#42
Hi Sidey,

hat sich im Bezug auf das Senden von Manchester noch einmal etwas getan.
Habe die b7 ausprobiert und hatte wieder die gewohnten Daten, die ich auch durch manuelles Auswerten erhalten habe.
Habe danach die b8 ausprobiert. Leider habe ich mit dieser Version keinen Empfang mehr.
Wie kann ich generell auf eine vorherige Version wechseln?

Gruß Rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

Sidey

Hi Rippi,

Zitat von: rippi46 am 15 Dezember 2015, 21:09:37
hat sich im Bezug auf das Senden von Manchester noch einmal etwas getan.
Habe die b7 ausprobiert und hatte wieder die gewohnten Daten, die ich auch durch manuelles Auswerten erhalten habe.
Habe danach die b8 ausprobiert. Leider habe ich mit dieser Version keinen Empfang mehr.
Wie kann ich generell auf eine vorherige Version wechseln?

Ich habe mir das ganze jetzt mal etwas angesehen.
Ich habe es etwas vereinfacht. Also von einem invertierten Signal kann ich nichts feststellen.

SC;R=10;SM;C=367;D=FFFF;SR;P0=-380;P1=367;D=101;SM;C=367;D=AAAA;

Das genannte Kommando generiert 32 Pulse (FFFF) von ca. 380-355 Mikrosekunden Dauer. Die low Pegel sind immer etwas kürzer. Genauer gesagt sind die high pegel etwas länger. Aber das ist nicht das grundlegende Problem denke ich.
Der Manchester Teil (F) endet mit einem high Pegel.
Danach sollte mittels SR 367 high, 380 low und 367 high gesendet werden. Gemessen liegen die Pegel eher um die 400 uS.

Das Problem liegt aber nicht da, auch wenn die Zeiten von der Gewünschten Dauer etwas abweichen.
Da der erst MC und der Folgende SR Teil sowohl mit einem high pegel enden als auch mit einem high pegel starten, sollte man ja annehmen, dass zwischen diesen Übertragungen eigentlich nichts passiert.

Nunja, das auslesen des Kommandos scheint so ca. 1000 uS in Anspruch zu nehmen. Dazwischen ist der pegel allerdings low.
Beginnt man das Signal, so wie Du wieder mit low addiert sich das ganze.

Problem sind also scheinbar die String Operationen, die zwischen dem Senden der Nachricht realisiert werden.
Da ich für jede Wiederholungen jedesmal neu auswerte, sind alle Wiederholungen so.
Um das zu lösen, müsste ich wohl einmal alle Daten im Speicher vorbereiten und mir irgendwie merken, in welcher Reihenfolge die verarbeitet werden müssen.

Um zu einer alten Firmware zurück zu springen, könntest Du in github einen speziellen commit raussuchen.
Aber das Problem, dass er nichts mehr ausgibt, habe ich hoffentlich bereits gelöst. Mache doch bitte ein Update der Firmware.

Wenn es nicht geht, kannst Du mit
set sduino raw CES
set sduino raw CEC
set sduino raw CEU


Die Nachrichten wieder aktivieren.



Grüße Sidey


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

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

rippi46

Hallo Sidey,

das Senden und Empfangen funktioniert jetzt wieder.
Das mit dem invertierten Signal ist immer noch. Vielleicht habe ich mich auch etwas falsch ausgedrückt.

Ich habe mir jetzt einen zweiten Sduino gebastelt. Wenn ich jetzt mit dem ersten Sduino dieses Signal
"set sduino raw SC;;R=50;;SM;;C=367;;D=FFFF;;SR;;P0=-380;;P1=367;;D=01;;SM;;C=367;;D=2B76FFFE01FF00A2;;"
sende.

zeigt mir der zweite Sduino folgendes Ergebnis:

2015.12.16 10:39:06 4: Found manchester Protocol id 10 clock 365 -> OSV2o3
2015.12.16 10:39:06 4: SIGNALduino/msg READ: MC;LL=-768;LH=737;SL=-395;SH=361;D=54890001FE00FF5D00;C=365;
2015.12.16 10:39:06 4: Found manchester Protocol id 10 clock 363 -> OSV2o3
2015.12.16 10:39:06 4: SIGNALduino/msg READ: MC;LL=-769;LH=734;SL=-395;SH=357;D=54890001FE00FF5D00;C=363;
2015.12.16 10:39:06 4: Found manchester Protocol id 10 clock 362 -> OSV2o3
2015.12.16 10:39:06 4: SIGNALduino/msg READ: MC;LL=-766;LH=733;SL=-394;SH=356;D=54890001FE00FF5D00;C=362;
2015.12.16 10:39:06 4: Found manchester Protocol id 10 clock 362 -> OSV2o3
2015.12.16 10:39:06 4: SIGNALduino/msg READ: MC;LL=-764;LH=731;SL=-394;SH=356;D=54890001FE00FF5D00;C=362;
2015.12.16 10:39:06 4: Found manchester Protocol id 10 clock 363 -> OSV2o3
2015.12.16 10:39:06 4: SIGNALduino/msg READ: MC;LL=-771;LH=734;SL=-393;SH=358;D=54890001FE00FF5D00;C=363;


Gruß Rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa