Ankündigung

Einklappen
Keine Ankündigung bisher.

TCP POST (Grafana/InfluxDB)

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

    #31
    Ich hab privat und in der Firma eine 1.8er Version laufen. Welche genau, weiß ich nicht auswendig. Privat sendet nur der EibPC Daten, in der Firma kommen noch Daten aus anderen Quellen rein (per HTTP). Ansonsten nutze ich nichts weiter.

    Kommentar


      #32
      Influxdb2 sollte sich doch mit dem http telegraf plugin mit der httprequest-Funktion mindestens genauso einfach befüllen lassen.

      Kommentar


        #33
        Zitat von Saniersiedler Beitrag anzeigen
        Ich hab privat und in der Firma eine 1.8er Version laufen. Welche genau, weiß ich nicht auswendig. Privat sendet nur der EibPC Daten, in der Firma kommen noch Daten aus anderen Quellen rein (per HTTP). Ansonsten nutze ich nichts weiter
        Danke für die Info.
        Ich hab die aktuelle V2.3.0 eingespielt und Telegraf dazugenommen. UDP funktioniert da wohl nicht mehr
        Installiert auf Synology RS

        Zitat von foobar0815 Beitrag anzeigen
        Influxdb2 sollte sich doch mit dem http telegraf plugin mit der httprequest-Funktion mindestens genauso einfach befüllen lassen.
        Hast du da mal einen Ansatz den ich dann weiter verfolgen kann? Stehe da wiedermal im Wald Würde sehr helfen um nich nicht total zu verlaufen

        Grüße Hannes

        Kommentar


          #34
          Hi,

          scheinbar braucht man Telegraf gar nicht dafür:

          https://docs.influxdata.com/influxdb...per-tools/api/

          D.h. du kannst den webrequest-Knoten direkt verwenden und dort die notwendigen Infos für den Header usw. eintragen. Habe aktuell keine InfluxDB/Grafana laufen, um das selbst testen zu können.

          Kommentar


            #35
            Zitat von foobar0815 Beitrag anzeigen
            D.h. du kannst den webrequest-Knoten direkt verwenden und dort die notwendigen Infos für den Header usw. eintragen. Habe aktuell keine InfluxDB/Grafana laufen, um das selbst testen zu können.
            Super Tip! Funktioniert wirklich gut.Allerdings nur über Experte.Hatte erst schnell etwas mit der Logik zusammengestellt aber dort ist ein Bug drinnen (kein LF als Trenner im Header)


            Code:
            // ------------------------------------------------------------------------------------------------------------------------------------------------
            //
            // benötigte globale Variablen
            //
            // ------------------------------------------------------------------------------------------------------------------------------------------------
            
            //für Post Knoten:
            o0=255;
            o1=0u16;
            o2=$$c65534;
            o3=$$c65534;
            
            // Timerbit
            InfluxTick = AUS;
            
            //Datenspeicher
            //Temperaturwerte
            //Ist
            InfluxDataTemperaturIstwertDG= $$c65534;
            InfluxDataTemperaturIstwertEG= $$c65534;
            InfluxDataTemperaturIstwertKG= $$c65534;
            InfluxDataTemperaturIstwertEL= $$c65534;
            InfluxDataTemperaturIstwertHeizung= $$c65534;
            //Stellwert
            InfluxDataTemperaturStellwertEG= $$c65534;
            InfluxDataTemperaturStellwertEL= $$c65534;
            //Verbrauch
            InfluxDataVerbrauchHaus= $$c65534;
            //Sensorik alle Haus
            InfluxDataSensorikWetter= $$c65534;
            
            // IP mit Port org=deineOrg bucket=deinBucket precision=deineprecision
            InfluxURL=$http://10.101.15.188:8086/api/v2/write?org=deineOrganisation&bucket=TestBucket2&precision=ms$;
            // Token=deinToken
            InfluxToken=$Authorization: Token 5CABRbqm6OeeC0AvS-ISbDhjgsdfgekertpeotopidfgT-LQZx3a9XLkxOKE5AgEN_1arJug==$;
            InfluxType0=$Content-Type: text/plain; charset=utf-8$;
            InfluxType1=$Accept: application/json$;
            
            
            // ------------------------------------------------------------------------------------------------------------------------------------------------
            //
            // Zykluseinstellungen
            //
            // ------------------------------------------------------------------------------------------------------------------------------------------------
            
            
            if cycle(5,00) then {
            InfluxTick = EIN;
            // Datenabfrage starten für nicht permanent gesendete Daten oder um nach Reboot diese vorher abzufragen
            read("Heizung Messwert Vorlauf -17/0/0");
            read("Heizung Messwert Rücklauf-17/0/5");
            read("Zirkulation Messwert zum Speicher-17/0/20");
            read("Zirkulation Messwert zur Pumpe-17/0/25");
            read("Warmwasserspeicher Messwert Rücklauf-17/0/10");
            read("Warmwasserspeicher Messwert Vorlauf-17/0/15");
            read("akt Leistung L1-8/0/0");
            read("akt Leistung L2-8/0/1");
            read("akt Leistung L3-8/0/2");
            read("akt Leistung gesamt-8/0/3");
            
            }endif;
            
            
            
            // ------------------------------------------------------------------------------------------------------------------------------------------------
            //
            // Influxpakete aktualisieren und versenden
            //
            // ------------------------------------------------------------------------------------------------------------------------------------------------
            
            if after(InfluxTick==EIN,10000u64) then {
            InfluxTick=AUS;
            o3=$Cycle: Tick = $ + convert(InfluxTick,$$);
            
            InfluxDataTemperaturIstwertEG = $Temperatur,host=EibPC,Bereich=Erdgeschoss,Typ=Ist wert$ + \\
            $ $ + $Flur=$ + stringformat("Flur EG Temperatur messwert-3/0/40",4,6,1,1) + \\
            $,$ + $Wohnzimmer=$+ stringformat("WZ EG Temperatur Messwert-3/0/80",4,6,1,1) + \\
            $,$ + $WohnzimmerexternerSensor=$+ stringformat("WZ EG Temperatur Messwer ext Fühler-3/0/81",4,6,1,1) + \\
            $,$ + $Küche=$+ stringformat("Küche EG Temperatur messwert-3/0/20",4,6,1,1) + \\
            $,$ + $Bad=$+ stringformat("Bad EG Temperatur messwert-3/0/0",4,6,1,1) + \\
            $,$ + $Schlafzimmer=$+ stringformat("SZ EG Temperatur Messwert-3/0/60",4,6,1,1) + \\
            $ $ + stringformat(utctime(), 0, 6, 1, 1) ;
            
            InfluxDataTemperaturIstwertEL = $Temperatur,host=EibPC,Bereich=Einlieger,Typ=Istwe rt$ + \\
            $ $ + $Flur=$ + stringformat("KG Flur Temp Messwert -2/0/0",4,6,1,1) + \\
            $,$ + $Wohnzimmer=$ + stringformat("WZ KG Temperatur messwert-2/0/80",4,6,1,1) + \\
            $,$ + $Küche=$ + stringformat("Küche KG Temperatur messwert-2/0/40",4,6,1,1) + \\
            $,$ + $Schlafzimmer=$ + stringformat("SZ KG Temperatur messwert-2/0/60",4,6,1,1) + \\
            $ $ + stringformat(utctime(), 0, 6, 1, 1) ;
            
            InfluxDataTemperaturIstwertHeizung = $Temperatur,host=EibPC,Bereich=Heizung,Typ=Istwert $ + \\
            $ $ + $HeizkreiseVorlauf=$ + stringformat("Heizung Messwert Vorlauf -17/0/0",4,6,1,1) + \\
            $,$ + $HeizkreiseRücklauf=$ + stringformat("Heizung Messwert Rücklauf-17/0/5",4,6,1,1) + \\
            $,$ + $WarmwasserspeicherVorlauf=$ + stringformat("Warmwasserspeicher Messwert Vorlauf-17/0/15",4,6,1,1) + \\
            $,$ + $WarmwasserspeicherRücklauf=$ + stringformat("Warmwasserspeicher Messwert Rücklauf-17/0/10",4,6,1,1) + \\
            $,$ + $WarmwasserzirkulationZurPumpe=$ + stringformat("Zirkulation Messwert zur Pumpe-17/0/25",4,6,1,1) + \\
            $,$ + $WarmwasserzirkulationZumSpeicher=$ + stringformat("Zirkulation Messwert zum Speicher-17/0/20",4,6,1,1) + \\
            $ $ + stringformat(utctime(), 0, 6, 1, 1) ;
            
            // Final dann senden:
            o0 = httprequest(POST,InfluxURL,$$,InfluxToken+LF+Influ xType0+LF+InfluxType1,\\
            InfluxDataTemperaturIstwertEG + LF + \\
            InfluxDataTemperaturIstwertEL + LF + \\
            InfluxDataTemperaturIstwertHeizung \\
            , TLS_IGNORE_CERT,0,0,o1,o2,o3);
            }endif;
            
            // ----------------------------------------------
            //
            // Infobereich
            //
            // ----------------------------------------------
            
            //falls gewünscht können die Ausgaben auf ein Weboutput geleitet werden
            if change(o2) then weboutput(WebOutHeader, o2)endif;
            if change(o3) then weboutput(WebOutBody, o3)endif;

            Die Auflösung (pre cision=ms) werde ich noch auf eine Sekunde stellen um die Datenmenge zu optimieren.
            Zuletzt geändert von HannesKannes; 24.08.2022, 18:29.

            Kommentar


              #36
              Danke für den Hinweis, wird in der nächsten EibStudio-Version korrigiert!

              Kommentar

              Lädt...
              X