Ankündigung

Einklappen
Keine Ankündigung bisher.

Pluggit Lüftungsanlage anbinden

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

    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.

    Kommentar


      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?

      Kommentar


        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.

        Kommentar


          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

          Kommentar


            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.

            Kommentar


              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

              Kommentar


                Zitat von spunky78 Beitrag anzeigen
                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.
                Wenn du die Schaltung noch im Gerät hast kannst du ja mal ein paar Logs zur Verfügung stellen. Vielleicht analysiert die ja jemand der Interesse daran hat. Wichtig ist nur dazu zu notieren was gemacht wurde und welche Werte übertragen wurden.

                Wenn du die Sachen sowieso anders machst und eine Abschaltung realisieren möchtest, so platziere den Sensor am Besten an der Luftansaugstelle. Da lässt sich besser der Zeitpunkt finden die Anlage wieder anzuschalten.

                Kommentar


                  Alternative Steuerung

                  Hi zusammen,
                  wollte mich nur kurz einklinken, obwohl der Fred schon ziemlich alt ist.
                  Und zwar möchte nur kurz eine Alternative vorstellen für diejenigen, die das Gehäuse vom AP300 nicht öffen und trotzdem Zugriff zum Gerät haben wollen. Und zwar es geht über RF, genauer gesagt über ein nRF905 Modul (http://www.fasttech.com/product/1380...-communication) eingestellt auf 868.4 MHz. Der Radio-Chip hab ich einen an einen Arduino Pro Mini angeschloßen (über SPI). Die Lib hab ich von hier:
                  https://github.com/zkemble/nRF905, die hab ich allerdings ein bischen geändert, teilweise effizienter gemacht, teilweise neue Funktionen hinzugefügt.
                  Ein kurzer "sniff" über RF, wenn die Fernbedienung eingeschaltet wird, sieht so aus:
                  Code:
                  9080030400000CDBF9FB3FE1E9CAEF695FBFFFE3FD9FFFDEBF6D3F1DB7257F69
                  80900318021008150C0A7A00000000000004161007101207504C0000FFFFFFFF
                  908003040C000CDBF9FB3FE1E9CAEF695FBFFFE3FD9FFFDEBF6D3F1DB7257F69
                  809003180003020808027F01000779085800027E22D402798D31F900FFFFFFFF
                  Die erste und dritte Zeile kommt von der Fernbedienung, die zweite und vierte Zeile sind die Antwort vom Gerät. Daraus kann man schon einiges identifizieren was auch hier im Forum bereits gemacht wurde.
                  Um eine Verbindung hertellen zu können braucht man allerdings eine 4 bytes Adresse. Die ersten 2 bytes sind 00 00, die letzten 2 bytes der Adresse sind in Modbus Register 5 und 6 zu finden (in diesm Fall: 0A 7A). Ja, Fernbedienung und Gerät-Addressen sind identisch.
                  Und das ist auch das schwierigste zu bekommen, da man das Gerät nicht öffnen soll. Eine Lösung wäre einfach verschieden Versionen für die letzten 2 bytes zu nehmen und zu probieren ob einige Daten emfangen werden oder nicht (brute force).
                  Ein Ausschnitt aus der INO Datei:
                  Code:
                  #define RXADDR {0x00, 0x00, 0x0A, 0x7A} // Address of this device (4 bytes)
                  #define TXADDR {0x00, 0x00, 0x0A, 0x7A} // Address of device to send to (4 bytes)
                  ...
                  //////////////////////////////////////////////////////////////////////////
                  void nRF905_Config(void)
                  {
                    // Set control register 0 - CHANNEL
                    nRF905_setConfigReg0(0x76);
                    // config reg 1
                    nRF905_setConfigReg1(0x0E);
                    // config reg 2
                    nRF905_setConfigReg2(0x44);
                    // Set payload sizes
                    nRF905_setPayloadSizes(0x20);
                    // set TX and Rx addresses
                    static byte buf1[] = TXADDR;
                    nRF905_setTXAddress(buf1);
                    // set Rx addres
                    static byte buf2[] = RXADDR;
                    nRF905_setRXAddress(buf2);
                    // read config register 9 - just to be conform with data detected by sniffing
                    nRF905_getConfigReg(9);
                    // set config register 9
                    nRF905_setConfigReg9(0xDB);
                    // Clear DR by reading receive payload
                    nRF905_flushRecBuffer();
                    // Set interrupts
                    REG_EXTERNAL_INT_CTL |= BIT_EXTERNAL_INT_CTL;
                    nRF905_interrupt_on();
                  }
                  Falls Interesse besteht, gerne kann ich weitere Infos zur Verfügung stellen.
                  Bis dahin!
                  VG
                  Zuletzt geändert von stevestrong; 16.06.2015, 23:08.

                  Kommentar


                    Das Interesse ist da!
                    Was brauche ich denn alles?
                    Gruß Ralf

                    Kommentar


                      Was man dazu Hardwaremässig braucht hab ich schon in meinem ersten Post erwähnt, also:
                      - ein nRF905 Modul (http://www.fasttech.com/product/1380...-communication)
                      - ein uController (in meinem Fall ist ein Arduino Pro Mini), am besten mit 3.3V Versorgungsspannung, da der nRF905 Modul auch mit 3.3V lauft.
                      - ein PC der die empfangene Daten vom uController über UART bekommt.
                      Die beide werden über die SPI Schnittstelle verbunden. Dazu gibt es genügend Info im Internet.
                      Die SW ist auf die schon erwähnte Lib von zkemble (https://github.com/zkemble/nRF905) basiert.
                      Für das sniffing musste ich einiges noch daran ändern da die Fernbedienung und die AP300 Anlage schnell (innerhalb von 80ms) nacheinander kommunizieren, also musste ich die gesendete Daten interrupt basiert in einem 4x32 bytes gross Ring-Puffer ablegen (FIFO), und erst danach, innerhalb einer paar Sekunden langen Funkpause, aus dem Puffer auslesen und an PC schicken.
                      Die SW ist noch nicht ganz fertig (wie ich es letzendlich haben möchte), aber es funktioniert bereits so wie es ist (siehe die gespeicherte Daten von meinem ersten Post). Die SW werde ich später hier posten (jetzt bin ich nicht zuhause).

                      Kommentar


                        Updates?

                        Kommentar


                          AP300 RF-Monitor

                          So, und hier die SW.
                          Wie gesagt, noch sehr unübersichtlich, aber funktionstüchtig .
                          Das Senden von Daten ist vorbereitet, ist aber noch nicht implementiert, es lauft nur monitoring zurzeit.
                          Angehängte Dateien

                          Kommentar


                            Wie schauts aus mit der Funkanbindung? Geht senden schon?

                            Kommentar


                              Hallo,
                              ich bin hier neu, mit KNX habe ich eigentlich nichts am Hut.
                              Ich habe mich auf diesem Forum registriert weil ich diese Datei gefunden habe:
                              http://www.pluggit.com/fileserver/fi...bus_tcp_ip.pdf
                              Vielleicht hilf Euch die Datei weiter.
                              Gruß,
                              Michael

                              Kommentar


                                Weiß jemand wie das mit der neuen Pluggit AP310 aussieht? Hat die auch eine Möglichkeit der Anbindung?
                                Ich bräuchte nur die Umschaltung der Lüfterstufen und die Bypassklappe.

                                mfg
                                Wolfgang
                                mfg
                                Wolfgang

                                Kommentar

                                Lädt...
                                X