Ankündigung

Einklappen
Keine Ankündigung bisher.

Pluggit Lüftungsanlage anbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast
    Ein Gast antwortete
    Hmmm, da macht sich ja wieder die Ernüchterung breit. Nur das Sensorboard bringt mit nicht viel, da ich die Anlage ja dann im Bedarfsfall nicht ausschalten kann.

    Bisher steuer ich über die potentialfreien Eingänge Stufe 1 und 3 mit zwei Homematic Funkschalter über FHEM an, wenn die Luftfeuchte im Bad zu hoch ist oder halt nach Zeitplan. Wenn das mit dem Teensy nicht funktioniert, ist es für mich einfacher, wenn ich die zwei CO20-Luftqualtiätssensoren in der Anlage lasse und Luftfeuchte sowie Temperatur über 1-Wire-Sensoren erfasse.
    Die Funktion, die Anlage bei schlechter Außenluft abzuschalten müsste ich dann über eine Funk-Schaltersteckdose realisieren. Die Anlage stromlos zu schalten finde ich zwar nit so doll, aber anders gehts dann wohl nicht.

    Habe auch mal geschaut, ob man ein Softwareupgrade machen kann, aber das geht wohl nur bei den neuen Geräten mit USB-Schnittstelle wie der P310.

    Naja, wäre zwar schön gewesen, aber das bei mir verwendete Protokoll zu analysieren und die Software darauf hin anzupassen ist denke ich zu viel Aufwand und auch zu viel verlangt. Werde mal schauen, ob mir noch was einfällt, wie ich die Abschaltung auch ohne Netztrennung realisiert bekomme.

    Gruß,
    Dennis

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von spunky78 Beitrag anzeigen
    Yeaaaahhh! Man, war das ein Erfolgserlebnis gerade! :-) Ich sehe Licht am Ende des Tunnels. Ich denke, die Ursache ist gefunden. Das Signal ist invertiert und hat 4800 Baud! Hier das Log:
    ...
    Kann man das in der P300.ino irgendwo anpassen mit der invertierten Schnittstelle, oder müsstest Du dafür zunächst was umprogrammieren?

    Ich kann zwar das Signal invertieren aber das ist ein ganz anderes Protokoll. Ich könnte die Software maximal so anpassen, dass das Sensorboard funktioniert.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Yeaaaahhh! Man, war das ein Erfolgserlebnis gerade! :-) Ich sehe Licht am Ende des Tunnels. Ich denke, die Ursache ist gefunden. Das Signal ist invertiert und hat 4800 Baud! Hier das Log:

    Code:
    SER3 192075 AA DE 22 56
    SER3 192577 AA DE 22 56
    SER3 193076 AA DE 22 56
    SER3 193576 AA DE 22 56
    SER3 194075 AA DE 22 56
    SER3 194574 AA DE 22 56
    SER3 195074 AA DE 22 56
    SER3 195573 AA DE 22 56
    SER3 196072 AA DE 22 56
    SER3 196572 AA DE 22 56
    SER1 252840 88 DE 22 41 00 00 00 35
    SER3 252868 88 DE 22 41 02 0F 14 2C
    SER1 253451 88 DE 22 41 00 00 00 35
    SER3 253477 88 DE 22 41 02 0F 14 2C
    SER1 254463 88 DE 22 42 00 00 00 36
    SER3 254486 88 DE 22 42 0F 12 0F 24
    SER1 254965 88 DE 22 43 00 00 00 37
    SER3 254986 88 DE 22 43 20 0C 27 3C
    SER1 255467 88 DE 22 46 00 00 00 32
    SER3 255495 88 DE 22 46 06 00 02 36
    Kann man das in der P300.ino irgendwo anpassen mit der invertierten Schnittstelle, oder müsstest Du dafür zunächst was umprogrammieren?

    Gruß,
    Dennis

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von spunky78 Beitrag anzeigen
    Also 5055 Baud habe ich gerade getestet. Funktioniert auch nicht. Kann mir aber kaum vorstellen, dass die so nen krummen Wert nehmen. Schätze, dass 4800 schon richtig ist.
    Das mit der invertierten Schnittstelle klingt recht plausibel. Kann man mal ausprobieren. Code im GitHub hast Du noch nicht geändert, oder?
    Der ist geändert: https://github.com/d00616/Teensy3Ser...ialMonitor.ino

    5055 baud und invertiert ist auch noch eine Option.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Also 5055 Baud habe ich gerade getestet. Funktioniert auch nicht. Kann mir aber kaum vorstellen, dass die so nen krummen Wert nehmen. Schätze, dass 4800 schon richtig ist.
    Das mit der invertierten Schnittstelle klingt recht plausibel. Kann man mal ausprobieren. Code im GitHub hast Du noch nicht geändert, oder?

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von spunky78 Beitrag anzeigen
    Hmmm, werde das mit der seriellen Konfiguration noch probieren. Denke aber nicht das es daran liegt.
    Die elektrische Verbindung funktioniert ja. Das hat der letzte Test ja bewiesen. Wenn ich mich nicht verrechnet habe werden die Daten auch mit 4800 Baud übertragen. Wenn die Konfiguration gleich wäre müsste mein Programm funktionieren welches die serielle Schnittstelle des Teensy benutzt. Da das bei dir nicht geht aber bei mir, sieht es nach einer anderen Schnittstellenkonfiguration aus. Hier kann die Zahl der Datenbits, die Parität oder die Zahl der Stopbits variieren. Eventuell ist das Signal auch invertiert, wobei dann die serielle Schnittstelle in der P300 per Software umgesetzt sein müsste. Das halte ich für unwahrscheinlich.

    Ich habe mir mal den Code des Teensy angesehen. Etwas anderes als 8N1 ist nicht implementiert. Damit ist das durchprobieren nicht so einfach.

    EDIT:
    Ich habe mal nachgerechnet. Bei 4800 Baud werden vier Zeichen pro Paket übertragen. Ein Paket ist 7846uS lang. Ein Bit ist etwa 198uS lang. Damit besteht ein Zeichen aus 10 Bit. Bei 4800-8N1 haben wir 10 Bit. Vielleicht habe wir es doch mit invertierter Logik zu tun. Der Teensy unterstützt das Invertieren: http://forum.pjrc.com/threads/23714-...=serial+invert

    Ich passe mal den Sketch auf github auf invertieren an. //#define INVERT -> #define INVERT ersetzen.

    EDIT:
    Beim nachrechnen komme ich auf 5055 Baud. Das wäre auch noch einen Versuch wert den Wert 4800 mal auf 5055 hochzusetzen.

    Zitat von spunky78 Beitrag anzeigen
    Echt ärgerlich. Dann scheint die ganze Mühe umsonst gewesen zu sein.
    Bis jetzt ist noch nichts umsonst. Vielleicht gibt es ja genug Informationen um das V2-Protokoll zu entschlüsseln.

    Zitat von spunky78 Beitrag anzeigen
    Hast du das Protokoll bei dir damals mit nem Sketch ausgelesen? Falls du das Sketch noch hast, vielleicht könnte ich dann versuchen meines auszulesen und mit deinem zu vergleichen.
    Ich hatte einen 3.3V Arduino Uno zum Analysieren verwendet. Die serielle Kommunikation konnte ich gut entschlüsseln da der Arduino über eine echte serielle Schnittstelle zum PC sendet. So konnte ich von 115200 Baud auf die 4800 Baud umrechnen. Das funktioniert mit der USB-Schnittstelle des Teensy nicht so einfach.

    Zitat von spunky78 Beitrag anzeigen
    Auf der anderen Seite kann ich mir ein anderes Protokoll kaum vorstellen. Zum Beispiel bekommt man die Fernbedienung und die Hauptplatine jeweils nur in einer Ausführung. Aber vielleicht liegt es an unterschiedlichen Softwareversionen.
    Ich kann mir zumindest auf Hardwareebene auch kein anderes Protokoll vorstellen. Die Daten werden per 3.3V Pegel seriell übertragen. Alles andere kann durch die Software beeinflusst werden und sieht bis jetzt anders aus.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Hmmm, werde das mit der seriellen Konfiguration noch probieren. Denke aber nicht das es daran liegt.

    Echt ärgerlich. Dann scheint die ganze Mühe umsonst gewesen zu sein.

    Hast du das Protokoll bei dir damals mit nem Sketch ausgelesen? Falls du das Sketch noch hast, vielleicht könnte ich dann versuchen meines auszulesen und mit deinem zu vergleichen.

    Auf der anderen Seite kann ich mir ein anderes Protokoll kaum vorstellen. Zum Beispiel bekommt man die Fernbedienung und die Hauptplatine jeweils nur in einer Ausführung. Aber vielleicht liegt es an unterschiedlichen Softwareversionen.

    Gesendet von meinem GT-I9300 mit Tapatalk

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von spunky78 Beitrag anzeigen
    Ok, dann werde ich das mal probieren (heute oder morgen) und berichten.

    Vorerst schon mal vielen vielen Dank, dass Du dich so sehr einbringst.
    Das habe ich gerne gemacht. Viel mehr werde ich auch nicht mehr beisteuern können. Es sieht nach einem komplett anderen Protokoll aus. Das müsste eventuell von Anfang an Analysiert werden.

    Zitat von spunky78 Beitrag anzeigen
    Habe noch was gefunden. Kann es sein, dass jede Fernbedienung separate kodiert und Dein Programm an die jeweilige FB angepasst werden muss?
    Die Seriennummer der Fernbedienung spielt bei der entschlüsselten Kommunikation keine Rolle. Ich vermute die Seriennummer wird im Empfänger gespeichert.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Habe noch was gefunden. Kann es sein, dass jede Fernbedienung separate kodiert und Dein Programm an die jeweilige FB angepasst werden muss?
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Ok, dann werde ich das mal probieren (heute oder morgen) und berichten.

    Vorerst schon mal vielen vielen Dank, dass Du dich so sehr einbringst.

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von spunky78 Beitrag anzeigen
    Mit dem Script funktioniert die Fernbedienung und die Kommunikation in beide Richtungen. Habe das Log mal angehängt.
    Ein Bit sind ca. 200 Mikrosekunden = 5000 Baud -> 4800 Baud

    Jetzt gibt es mehrere Möglichkeiten:

    1. Die Signale sind invertiert -> Eher unwarscheinlich da gleiche Hardware
    2. Ich habe mich verrechnet -> Selber nachrechnen
    3. Es gibt eine andere Konfiguration anstelle von 8N1

    Für 3. Probiere mal SerialX.begin(BAUD, SERIAL_8E1|SERIAL_8O1|SERIAL_8O2|SERIAL_8E2|...) in meinem vorherigen Script in verschiedenen Konfigurationen aus. Mogliche Werte gibt es da: Arduino - Begin

    Ich bin den Rest des Abends nicht mehr zu erreichen. Viel Erfolg beim Probieren.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Mit dem Script funktioniert die Fernbedienung und die Kommunikation in beide Richtungen. Habe das Log mal angehängt.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Dann bin ich mal gespannt. Werde das heut Nachmittag gleich ausprobieren.

    Einen Kommentar schreiben:


  • Frank2
    antwortet
    Zitat von spunky78 Beitrag anzeigen
    Bin alle durchgegangen. Leider keinen Erfolg :-[
    Ich habe nun eine Weile gerätselt. Ich komme nicht dahinter was das für eine Baudrate ist.

    Zitat von spunky78 Beitrag anzeigen
    EDIT: Vielleicht könnte man ja versuchen im Teensy die Schnittstellen direkt durchzuleiten. Also Tx1 an Rx3 und Rx1 an Tx3. Einfach um festzustellen, ob man dann eine Verbindung zur Fernbedienung mit eingebautem Teensy hinbekommt. Vielleicht noch die Baudrate einstellen, damit man rausfindet welche nun die richtige ist. Je nach Ergebnis könnte man daran ansetzen.
    Das ist eine Software die genau das macht. Diese funktioniert mit meiner Anlage. Über die Schnittstelle wird die Impulszeit in Microsekunden ausgegeben. Der kleinste Wert ist die Dauer eines Bits. Damit lässt sich die Baudrate errechnen.

    Code:
    unsigned long pulsetime;
    bool state;
    
    void setup()
    {
      pinMode(0, INPUT_PULLUP);
      pinMode(1, OUTPUT);
      pinMode(7, INPUT_PULLUP);
      pinMode(8, OUTPUT);
      Serial.begin(115200);
      
      state=digitalRead(7);
      pulsetime=micros();
    }
    
    
    void loop()
    {
      bool data=digitalRead(7);
      digitalWrite(1, data);
      digitalWrite(8, digitalRead(0));
      if (data!=state)
      {
        state=data;
        Serial.println(micros()-pulsetime);
        pulsetime=micros();
      }
    }

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Bin alle durchgegangen. Leider keinen Erfolg :-(

    1200:
    SER3 24402 3D
    SER3 24904 3D

    2400:

    SER3 22107 E8 E8
    SER3 22608 E8 E8

    9600:
    SER3 34056 98 E6 F8 7E 60 78 E6
    SER3 34557 98 E6 F8 7E 60 78 E6

    14400:
    SER3 17608 E0 1C E0 FC E0 E0 1C FC
    SER3 18109 E0 1C E0 FC E0 E0 1C FC

    37600:
    SER3 20908 00 80 80 80 00 80 00 00 00 00 80 80 80
    SER3 21410 00 80 80 80 00 80 00 00 00 00 80 80 80

    57600:
    SER3 31571 00 00 00 00 00 00 00 00 00 00 00 00 00
    SER3 32072 00 00 00 00 00 00 00 00 00 00 00 00 00

    115200:
    SER3 17532 00 00 00 00 00 00 00 00 00 00 00 00 00
    SER3 18034 00 00 00 00 00 00 00 00 00 00 00 00 00

    EDIT: Vielleicht könnte man ja versuchen im Teensy die Schnittstellen direkt durchzuleiten. Also Tx1 an Rx3 und Rx1 an Tx3. Einfach um festzustellen, ob man dann eine Verbindung zur Fernbedienung mit eingebautem Teensy hinbekommt. Vielleicht noch die Baudrate einstellen, damit man rausfindet welche nun die richtige ist. Je nach Ergebnis könnte man daran ansetzen.

    Einen Kommentar schreiben:

Lädt...
X