Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenempfang Froggit DP1500

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

    #16
    Hi Henrik,

    ich habe mal jetzt extra fuer Dich eine Spezial-Beta kreiert:
    http://foshkplugin.phantasoft.de/fil...-0.0.6Beta.zip

    Das ist eine um ein paar Debug-Dinge erweiterte aktuelle Beta. Vielleicht bringt das etwas Licht ins Dunkel.
    Ansonsten laeuft jetzt hier bei mir auch erst mal diese Beta im 8-Sekunden-Intervall.
    Das Schieberegister fuellt sich stetig - es dauert aber noch etwas, bis alle 1350 Werte vorliegen und die 3h-Werte erscheinen - momentan bin ich bei 85 Werten:
    Code:
     [LEFT][FONT=monospace][COLOR=#8080ff][COLOR=#000000]15.06.2020 18:49:03.971 [COLOR=black][B]INFO:[/B] 3-old: 0 15.06.2020 18:36:08 1013.8hPa now: 85 15.06.2020 18:49:03 1013.8hPa diff3: 775sec 0.0hPa trend3: 1 <: 0 =: 12 >: 73[/COLOR][/COLOR][/COLOR][/FONT][/LEFT]
    Gruss, Oliver

    Kommentar


      #17
      Moin Oliver,
      hatte ja gestern Abend das komplette Plugin in der aktuellen Beta nocheinmal neu installiert. Oh wunder: heute morgen waren die 3 Stunden Tendenzen da :-) Alles gut jetzt. Werde es heute mal den Tag über laufen lassen.

      Danke dir für deine Mühen!
      Henrik

      Kommentar


        #18
        Hallo allerseits,

        ich will mal den aktuellen Sachstand bzgl. meiner Anbindung des Froggit DP1500 WLAN Gateways schildern.
        Aktuell betreibe ich folgende Sensoren am DP1500:
        - 1x WH4000SE Außeneinheit
        - 1x DP50 Temperatur-/Luftfeuchtesenor
        Bestellt sind auch 3 Stk. DP100 Bodenfeuchtesensoren welche ich für meine Bewässerung nutzen möchte.

        Zuerst wollte ich einen eigenen LBS schreiben um eine direkte Anbindung zu ermöglichen, auf Grund von Zeitmangel und fehlenden PHP-Kenntnissen habe ich das Projekt erst einmal auf Eis gelegt (bzw. auf die dunkle Jahrezeit geschoben ;-) ). Im Vorfeld bin ich bereits über das Plugin von olicat gestolpert (https://www.loxwiki.eu/display/LOXBE...eneric+version). Dieses habe ich dann parallel auf einer bestehenden FHEM-VM installiert und in Betrieb genommen, was wirklich total easy ist. Abfragen kann man das ganze über http-get wobei man eine vielzahl an Möglichkeiten hat, wie das zurückgegebene Format aussehen soll. Dankenswerter Weise hat Oliver mich tatkräftig unterstützt und die Anfragen spezifisch erweitert, sodass ich nun auch Trends des Luftdrucks, sowie weitere Zusatzdaten abfragen kann.

        Ich frage einen JSON-String alle 16 Sek.ab, welchen ich dann durch den vorhandenen LBS "JSON-Decoder" 19001072 zerlege.

        Anmerkung 2020-06-18 110621.png
        Das ganze läuft nun schon eine Zeit wunderbar und stabil durch und ich bin echt begeistert.
        Neue Sensoren werden automatisch vom DP1500 erkannt und vom Plugin eingebunden, somit sollte sich das einbinden meiner Bodenfeuchtesensoren nur auf das Anpassen der JSON-Decoder beschränken.

        Vielen Dank olicat noch einmal für die Hilfe und deinen schönen wiki-Artikel!

        Gruß
        Henrik


        Angehängte Dateien

        Kommentar


          #19
          Kurze Rückmeldung: Habe gestern meine drei Bodenfeuchtesensoren in Betriebgenommen, das Plugin hat diese sofort erkannt und ich konnte die Werte direkt aus dem JSON ziehen. Soweit alles wunderbar.

          Gruß
          Henrik

          Kommentar


            #20
            Langer89 Hast du dich nun in Zeiten von Pandemie und dunkler Jahreszeit mit einem Baustein für Edomi beschäftigt?
            Oder bleibst du bei der Lösung mit zwei Systemen? Ich würde bei mir gerne den Zwischenschritt über den Raspberry weg bekommen und die Systeme direkt miteinander verbinden.

            Da ich im Moment meine Visu ändere da ich ein anderes Panel zum Einsatz bringe bleibt für die Logik im Moment wenig Zeit.

            Kommentar


              #21
              Moin Michael85 !

              Aktuell halte ich noch an der Lösung fest, möchte trotzdem aber irgendwann wechseln. Allerding ist es bei mir in letzter Zeit etwas knapp mit meinem "Bastel-Kontingent" aufgrund von Nachwuchs und vielen Bauprojekten im privaten Umfeld. Daher wäre ich auch nicht abgeneigt, sollte sich ein anderer finden, der so einen Baustein entwickelt. Die Wetterstation, sowie die Feuchtesensoren laufen ja ech top 👍

              Gruß
              Henrik

              Kommentar


                #22
                Zitat von Langer89 Beitrag anzeigen
                Die Wetterstation, sowie die Feuchtesensoren laufen ja ech top 👍
                Ich habe zwar nur den BF Sensoren und ja die laufen Top. Ach wenn ich die Preiserhöhung von 19,99€ auf 29,99€ echt heftig und überzogen empfunden habe.
                Zudem war von der 3%igen MwSt senkung nix zu sehen bei Froggit. Im Moment sind die für 24,99€ wieder im Angebot. Denke ich ordere noch einmal 2stk. nach.

                Kommentar


                  #23
                  Zitat von Michael85 Beitrag anzeigen

                  Ich habe zwar nur den BF Sensoren und ja die laufen Top. Ach wenn ich die Preiserhöhung von 19,99€ auf 29,99€ echt heftig und überzogen empfunden habe.
                  Zudem war von der 3%igen MwSt senkung nix zu sehen bei Froggit. Im Moment sind die für 24,99€ wieder im Angebot. Denke ich ordere noch einmal 2stk. nach.
                  Ich habe meine direkt bei Ecowitt bestellt, 12$, war inkl versand immer noch günstiger als bei Froggit. Und Lucy ist echt hilfsbereit ;-)

                  Kommentar


                    #24
                    olicat : Ich nutze einen ähnlichen Weg über weewx 4.3 --> interceptor --> mqtt --> edomi.

                    Seit kurzem nutze ich den Ecowitt WH57 Lightning Detector, dessen Infos sehe ich im weewx debug log, allerdings fehlen diese Infos im MQTT string.
                    Ich habe hier schon einiges aus diversen Foren wo du auch unterwegs warst versucht, aber leider ohne Erfolg.

                    Muss hierfür in der weewx.conf noch etwas bestimmtes hinzugefügt werden?

                    Kommentar


                      #25
                      Hi!

                      Ich bin nicht so der weewx-Crack. Insofern kann ich dazu nichts sagen. Sorry!

                      MQTT kann jedoch FOSHKplugin mit v0.07Beta auch. Und da sollten alle Werte übertragen werden.

                      Oliver

                      Kommentar


                        #26
                        olicat Ich würde mich jetzt mal Versuchen einen Baustein vorzubereiten für die Abfrage der Daten direkt aus Edomi. Hier gibt es ja schon für die Wetterstation einen den Baustein 19001874. An diesem würde ich mich etwas orientieren.

                        Code:
                        if ($E = logic_getInputs($id))
                        {
                        $IP = $E[2]['value'];
                        $Port = 45000;
                        $TX = "\xFF\xFF\x0B\x00\x06\x04\x04\x19"; // HEX FFFF0B0006040419
                        $RX = 'EMPFANGENE DATEN';
                        $rxlen = 0;
                        
                        
                        error_off(); // send php errors to custom Log
                        
                        /* create the socket */
                        $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                        
                        if (!$socket)
                        {
                        logging($id, 'Socket create fehlgeschlagen');
                        }
                        
                        if ($socket)
                        {
                        /* set socket receive timeout to 1,5 second */
                        socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 2, "usec" => 0));
                        
                        /* connect to socket with Port 45000 */
                        $sc = socket_connect($socket, $IP, $Port);
                        
                        if ($sc)
                        {
                        logging($id, 'Connection succesfull to: ' . $IP . ' Port: ' . $Port);
                        }
                        
                        if (!$sc)
                        {
                        logging($id, 'Socket connect to ' . $IP . 'Port: ' . $Port . ' fehlgeschlagen!');
                        }
                        
                        if ($sc)
                        {
                        /* Send Abrufbefehl to socket */
                        socket_send($socket, $TX, strlen($TX), 0);
                        
                        /* Empfange Daten 82 Bytes */
                        $rxlen = socket_recv($socket, $RX, 82, MSG_WAITALL);
                        }
                        
                        /* schließe Socket */
                        socket_close($socket);
                        }
                        
                        error_on(); // restore php Error Handling
                        
                        if ($rxlen == 82) //socket_recv erfolgreich
                        {
                        $RXHEX = bin2hex($RX);
                        
                        logging($id, 'Received Hex: ' . $RXHEX);
                        
                        // Vorzeichen Temp. Innen
                        if (substr($RXHEX, 14, 1) == 'f') {
                        $V3 = 65536;
                        } else {
                        $V3 = 0;
                        }
                        
                        // Vorzeichen Temp. Außen
                        if (substr($RXHEX, 20, 1) == 'f') {
                        $V4 = 65536;
                        } else {
                        $V4 = 0;
                        }
                        
                        // Vorzeichen Taupunkt
                        if (substr($RXHEX, 26, 1) == 'f') {
                        $V5 = 65536;
                        } else {
                        $V5 = 0;
                        }
                        
                        // Vorzeichen Windchill
                        if (substr($RXHEX, 32, 1) == 'f') {
                        $V6 = 65536;
                        } else {
                        $V6 = 0;
                        }
                        
                        // Vorzeichen Hitzeindex
                        if (substr($RXHEX, 38, 1) == 'f') {
                        $V7 = 65536;
                        } else {
                        $V7 = 0;
                        }
                        
                        
                        
                        $a3 = (hexdec(substr($RXHEX, 14, 4)) - $V3) / 10; // Temp. Innen
                        $a4 = (hexdec(substr($RXHEX, 20, 4)) - $V4) / 10; // Temp. Außen
                        $a5 = (hexdec(substr($RXHEX, 26, 4)) - $V5) / 10; // Taupunkt
                        $a6 = (hexdec(substr($RXHEX, 32, 4)) - $V6) / 10; // Windchill
                        $a7 = (hexdec(substr($RXHEX, 38, 4)) - $V7) / 10; // Hitzeindex
                        $a8 = hexdec(substr($RXHEX, 44, 2)); // Luftfeuchte innen
                        $a9 = hexdec(substr($RXHEX, 48, 2)); // Luftfeuchte außen
                        $a10 = hexdec(substr($RXHEX, 52, 4)) / 10; // Luftdruck absolut
                        $a11 = hexdec(substr($RXHEX, 58, 4)) / 10; // Luftdruck relativ
                        $a12 = hexdec(substr($RXHEX, 64, 4)); // Windrichtung
                        $a13 = (hexdec(substr($RXHEX, 70, 4)) / 10) * 3.6; // Windgeschwindigkeit km/h
                        $a14 = (hexdec(substr($RXHEX, 76, 4)) / 10) * 3.6; // Böen km/h
                        $a15 = hexdec(substr($RXHEX, 82, 8)) / 10; // Regen h
                        $a16 = hexdec(substr($RXHEX, 92, 8)) / 10; // Regen T
                        $a17 = hexdec(substr($RXHEX, 102, 8)) / 10; // Regen W
                        $a18 = hexdec(substr($RXHEX, 112, 8)) / 10; // Regen M
                        $a19 = hexdec(substr($RXHEX, 122, 8)) / 10; // Regen Jahr
                        $a20 = hexdec(substr($RXHEX, 132, 8)) / 10; // Regen Total
                        $a21 = hexdec(substr($RXHEX, 142, 8)) / 10; // Lichtstärke lux
                        $a22 = hexdec(substr($RXHEX, 152, 4)); // UV Strahlung
                        $a23 = hexdec(substr($RXHEX, 158, 2)); // UV Index
                        
                        
                        logic_setOutput($id, 1, $RXHEX);
                        
                        logic_setOutput($id, 3, $a3);
                        logic_setOutput($id, 4, $a4);
                        logic_setOutput($id, 5, $a5);
                        logic_setOutput($id, 6, $a6);
                        logic_setOutput($id, 7, $a7);
                        logic_setOutput($id, 8, $a8);
                        logic_setOutput($id, 9, $a9);
                        logic_setOutput($id, 10, $a10);
                        logic_setOutput($id, 11, $a11);
                        logic_setOutput($id, 12, $a12);
                        logic_setOutput($id, 13, $a13);
                        logic_setOutput($id, 14, $a14);
                        logic_setOutput($id, 15, $a15);
                        logic_setOutput($id, 16, $a16);
                        logic_setOutput($id, 17, $a17);
                        logic_setOutput($id, 18, $a18);
                        logic_setOutput($id, 19, $a19);
                        logic_setOutput($id, 20, $a20);
                        logic_setOutput($id, 21, $a21);
                        logic_setOutput($id, 22, $a22);
                        logic_setOutput($id, 23, $a23);
                        } else
                        {
                        logging($id, 'dont receive needed 82 Bytes!');
                        }
                        }
                        Mit dem Baustein kann man auch eine Verbindung zu dem DP1500 aufbauen. Allerdings kommt die Meldung "logging($id, 'dont receive needed 82 Bytes!');"
                        Da passt die Empfangende länge natürlich nicht. Könntest du mir hier deine Aufzeichnungen bzw. dein Wissen zur Verfügung stellen im welchem Byte was Versteckt ist und wie lang der Komplette Datensatz ist?

                        Kommentar


                          #27
                          Sorry, nicht meine Baustelle. Mit der API-Schnittstelle des GW1000 habe ich mich nicht näher befasst. Ich nutze die custom server Funktion mit http/POST.
                          Das wäre auch deutlich kompatibler. Custom Server können alle Ecowitt-Stationen - API nur das GW1000.
                          Aber API hat natürlich auch Vorteile.

                          Oliver

                          Kommentar


                            #28
                            Ich habe für meine WH3000SE mal einen LBS geschrieben.
                            War aber nur kurz in Verwendung da ich dann auf weewx mit Influx und MQTT umgestiegen bin.

                            Der LBS ist daher noch als Beta anzusehen.
                            Für die Weiterleitung der Daten bei Customserver die URL der EXEC php Datei angeben.
                            Also http://EDOMI_IP/data/liveproject/lbs/EXE19002163.php

                            Vielleicht funktioniert er ja auch bei dir oder lässt sich für dich adaptieren.


                            Kommentar


                              #29
                              philipp900 Danke für den Hinweiß, das schaue ich mir doch mal genauer an.

                              Ich habe gestern ewig versucht auf dem Webhook Baustein Daten vom DP1500 zu bekommen.
                              Über dem Browser bekomme ich Daten in den Baustein.

                              Wenn ich bei Customserver nur die IP und den Port angebe sehe ich im Bausteinlog das alle x-Sekunden getriggert wird.
                              Allerdings kommt der Inhalt nicht mit. Wenn ich IP/webhook.php eintrage kommt von der Wetterstation allerdings nix mehr bzw. sehe ich im log auch nix.

                              Kommentar


                                #30
                                Hi!

                                Allerdings kommt der Inhalt nicht mit.
                                Doch!
                                Allerdings musst Du den dann auch entsprechend verarbeiten.
                                Der custom server im Ecowitt-Format sendet per http/POST - nicht per http/GET.

                                Oliver

                                Kommentar

                                Lädt...
                                X