Einbindung BIOCUT Anlage in Loxone via REST-API

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • creativo
    Smart Home'r
    • 19.01.2021
    • 39

    #1

    Einbindung BIOCUT Anlage in Loxone via REST-API

    Hallo zusammen,

    wir nutzen eine BIOCUT KLS 3000-C und ich würde gerne ein paar Funktionen der BIOCUT-App in Loxone direkt nutzen.
    Laut API Doku funktioniert die API nur wenn der Key im header der GET Anfrage mitgeschickt wird.



    Dies ist mit einem Virtuellen Eingang in Loxone nicht möglich, richtig?

    VG


  • Tico
    Lox Guru
    • 31.08.2016
    • 1035

    #2
    Richtig, ein virtueller Eingang wird nicht funktionieren.

    Es gibt eine Möglichkeit, einen virtuellen Ausgang zu verwenden und die Funktion "HTTP-Antwort speichern" zu nutzen. Der virtuelle Ausgang sieht vor, dass ein API-Schlüssel in der Kopfzeile gesendet wird. Sie erhalten dann eine Antwort, die auf dem Miniserver mit den von Ihnen angeforderten Werten gespeichert wird. Wenn Sie regelmäßige Aktualisierungen wünschen, entsteht ein Overhead an Schreibzyklen auf der SD-Karte.

    Ein virtueller Eingang ist dann erforderlich, um die interne Datei nach den gewünschten Werten abzufragen.​

    Wenn Sie Befehle zum Ändern der Modi über die API senden möchten, sollte dies mit dem Befehl Virtuelle Ausgabe funktionieren.
    Zuletzt geändert von Tico; 19.10.2023, 11:51.
    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

    Kommentar

    • creativo
      Smart Home'r
      • 19.01.2021
      • 39

      #3
      Tico Danke für die Antwort. Ich würde lieber Werte auslesen statt zu ändern. Das geht dies nur über einen zusätzlichen Server dazwischen. Schade

      Kommentar


      • Christian Fenzl
        Christian Fenzl kommentierte
        Kommentar bearbeiten
        Du hast Tico nicht richtig verstanden - er hat beide Richtungen erklärt.
    • creativo
      Smart Home'r
      • 19.01.2021
      • 39

      #4
      Christian Fenzl Du hast recht. Für beide Richtungen kann der Ausgang benutzt werden. Nur die korrekte Konfiguration habe ich jetzt noch nicht verstanden.

      Um z.B. den täglichen Wasserverbrauch abzufragen, reicht es eine GET Anfrage an folgende Adresse zu senden: https://appapi.watercryst.com/v1/sta...mulative/daily
      Diese gibt dann nur eine Zahl zurück. Im Header der Anfrage wird der persönliche "X-API-KEY" mitgeschickt.

      Im Virtuellen Ausgang hinterlege ich die Adresse und im Virtuellen Ausgangs Befehl bei "HTTP Header ein" dann "X-API-KEY: XXXXXXXXX".

      Wie bekomme ich jetzt z.B. einmal pro Tag diesen Wert in einem Zähler gespeichert?

      Kommentar

      • Tico
        Lox Guru
        • 31.08.2016
        • 1035

        #5
        Erstellen Sie einen virtuellen Ausgang wie folgt -

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: myBIOCAT_a.png Ansichten: 0 Größe: 55,3 KB ID: 407528


        Speichern Sie im Miniserver und lösen Sie dann den virtuellen Ausgang bei aktivem LiveView aus (mit Manueller Ventileinstellung).

        Um zu überprüfen, ob die Daten im Miniserver gespeichert wurden, müssen Sie einen Web-Browser verwenden und zu folgender Adresse navigieren -

        Code:
        http://Username:Password@Your_miniserver_IP_address:Port/cumulative_daily.json
        z.B..
        Code:
        http://Me:Secret@10.1.1.5:50123/cumulative_daily.json

        Benutzername/Passwort sind die Zugangsdaten für den Miniserver. Vergewissern Sie sich, dass der Port angegeben ist, wenn Sie ihn von Port 80 geändert haben.

        Posten Sie den Screenshot, wenn Sie erfolgreich Daten vom BIOCUT sehen können. Dies dient als Information für den nächsten Schritt.

        P.S. Vergewissern Sie sich auch, dass Sie einen Miniserver Gen 2 haben, bei einem Miniserver Gen1 funktioniert das nicht.
        Angehängte Dateien
        Zuletzt geändert von Tico; 20.10.2023, 15:45.
        Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

        Kommentar

        • creativo
          Smart Home'r
          • 19.01.2021
          • 39

          #6
          Tico Vielen vielen Dank für die ausführliche Anleitung! Hat genauso funktioniert. Sowohl für den täglichen Einzel-Wert als auch für die 30 Tage gesammelt.
          Ich habe jetzt zwei JSON-Dateien: Mini-Server-IP/cumulative_daily.json und Mini-Server-IP/cumulative_daily_30.json.

          Die "Mini-Server-IP/cumulative_daily.json" enthält nur eine Zahl als Wert und die "Mini-Server-IP/cumulative_daily_30.json" hat die Werte der letzten 30 Tage gesammelt.

          Doku: https://appapi.watercryst.com/#get-/...s/daily/direct

          Wie kann Loxone nun diese Daten in einem Zähler speichern?

          Kommentar

          • Tico
            Lox Guru
            • 31.08.2016
            • 1035

            #7
            Erstellen Sie nun einen virtuellen HTTP-Eingang, um die interne Datei abzurufen.

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Virtual HTTP Input.png
Ansichten: 332
Größe: 12,9 KB
ID: 407595

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Virtual HTTP Input 2.png
Ansichten: 257
Größe: 33,6 KB
ID: 407596


            Da die Daten so klein sind, würde ich mir keine Sorgen um die Schreibzyklen auf der SD-Karte machen. Möglicherweise 6 stündlich für den virtuellen Ausgang. Ich würde den virtuellen Eingang auf die doppelte Rate der eingehenden Daten einstellen, d. h. . Polling-Zyklus von 10800 (3 stündlich).

            Ich gehe davon aus, dass der Wert ein absoluter Wert im Tagesverlauf ist. Dann wird er um Mitternacht zurückgesetzt. Ich würde einen Zählerblock mit deaktivierter relativer Zählung ausprobieren. Ich bin neugierig, ob er den Mitternachtsübergang gut bewältigt.

            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Meter.png
Ansichten: 281
Größe: 15,4 KB
ID: 407597

            Die cumulative_daily_30.json wird nicht einfach zu verwenden sein. Ein Bildschirmfoto wäre hilfreich.
            Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

            Kommentar


            • Tico
              Tico kommentierte
              Kommentar bearbeiten
              Möglicherweise sollten Sie die Polling-Rate sowohl für die virtuellen Ausgänge als auch für die Eingänge erhöhen. Ein virtueller Ausgang mit 7200 Sekunden (2 Stunden) stellt sicher, dass Sie zwischen 22 Uhr und Mitternacht (nach dem abendlichen Hochbetrieb) mindestens einen Wert erfassen. Virtueller Eingang bei 3600 Sekunden.
          • creativo
            Smart Home'r
            • 19.01.2021
            • 39

            #8
            Tico Für den aktuellen Wasserverbrauch funktioniert das Vorgehen wie von Dir beschrieben. Es muss aber für die korrekte Zuordnung der Wert um 23:59 Uhr gelesen werden damit man den täglichen Wert richtig gespeichert hat. Sonst ist das immer nur der tägliche Verbraucht zum Zeitpunkt des Abrufen.

            Die Datei "cumulative_daily_30.json" gibt die Tageswerte der letzten 30 Tage zurück:

            Kann Loxone diese Art von JSON-Format speichern in einem Zähler?

            Code:
            {
              "type": "statistics",
              "entries": [
                {
                  "consumption": 247.99,
                  "date": "2023-10-02T00:00:00.0000000Z"
                },
                {
                  "consumption": 485.91,
                  "date": "2023-10-03T00:00:00.0000000Z"
                },
                {
                  "consumption": 274.82,
                  "date": "2023-10-04T00:00:00.0000000Z"
                },
                {
                  "consumption": 457.95,
                  "date": "2023-10-05T00:00:00.0000000Z"
                },
                {
                  "consumption": 166.31,
                  "date": "2023-10-06T00:00:00.0000000Z"
                },
                {
                  "consumption": 203.75,
                  "date": "2023-10-07T00:00:00.0000000Z"
                },
                {
                  "consumption": 592.65,
                  "date": "2023-10-08T00:00:00.0000000Z"
                },
                {
                  "consumption": 444.45,
                  "date": "2023-10-09T00:00:00.0000000Z"
                },
                {
                  "consumption": 170.1,
                  "date": "2023-10-10T00:00:00.0000000Z"
                },
                {
                  "consumption": 485.69,
                  "date": "2023-10-11T00:00:00.0000000Z"
                },
                {
                  "consumption": 235.23,
                  "date": "2023-10-12T00:00:00.0000000Z"
                },
                {
                  "consumption": 637.37,
                  "date": "2023-10-13T00:00:00.0000000Z"
                },
                {
                  "consumption": 293.29,
                  "date": "2023-10-14T00:00:00.0000000Z"
                },
                {
                  "consumption": 455.25,
                  "date": "2023-10-15T00:00:00.0000000Z"
                },
                {
                  "consumption": 179.9,
                  "date": "2023-10-16T00:00:00.0000000Z"
                },
                {
                  "consumption": 358.43,
                  "date": "2023-10-17T00:00:00.0000000Z"
                },
                {
                  "consumption": 357.34,
                  "date": "2023-10-18T00:00:00.0000000Z"
                },
                {
                  "consumption": 342.95,
                  "date": "2023-10-19T00:00:00.0000000Z"
                },
                {
                  "consumption": 134.73,
                  "date": "2023-10-20T00:00:00.0000000Z"
                },
                {
                  "consumption": 627.53,
                  "date": "2023-10-21T00:00:00.0000000Z"
                },
                {
                  "consumption": 298.97,
                  "date": "2023-09-20T00:00:00.0000000Z"
                },
                {
                  "consumption": 171.36,
                  "date": "2023-09-21T00:00:00.0000000Z"
                },
                {
                  "consumption": 492.27,
                  "date": "2023-09-22T00:00:00.0000000Z"
                },
                {
                  "consumption": 185.18,
                  "date": "2023-09-23T00:00:00.0000000Z"
                },
                {
                  "consumption": 391.55,
                  "date": "2023-09-24T00:00:00.0000000Z"
                },
                {
                  "consumption": 548.73,
                  "date": "2023-09-25T00:00:00.0000000Z"
                },
                {
                  "consumption": 454.1,
                  "date": "2023-09-26T00:00:00.0000000Z"
                },
                {
                  "consumption": 438.1,
                  "date": "2023-09-27T00:00:00.0000000Z"
                },
                {
                  "consumption": 376.16,
                  "date": "2023-09-28T00:00:00.0000000Z"
                },
                {
                  "consumption": 325.8,
                  "date": "2023-09-29T00:00:00.0000000Z"
                },
                {
                  "consumption": 344.6,
                  "date": "2023-09-30T00:00:00.0000000Z"
                },
                {
                  "consumption": 518.77,
                  "date": "2023-10-01T00:00:00.0000000Z"
                }
              ]
            }​

            Kommentar

            • Tico
              Lox Guru
              • 31.08.2016
              • 1035

              #9
              Die Datei "cumulative_daily_30.json" ist wegen der Reihenfolge der Daten problematisch. Die Liste reicht vom 2. Oktober bis zum 21. Oktober, dann vom 20. September bis zum 30. September und schließlich bis zum 1. Oktober. Die Datei "cumulative_daily_30.json" zeigt auch 32 Werte an...

              Die virtuelle Eingabe ist sehr begrenzt in dem, was sie erkennen kann. Mehrere virtuelle Eingänge mit Befehlserkennung könnten wie folgt eingerichtet werden -


              1. virtuelle Eingabe
              Code:
              \i"consumption": \i\v
              2. virtuelle Eingabe
              Code:
              \i"consumption":\i\i"consumption": \i\v
              3. virtuelle Eingabe
              Code:
              \i"consumption":\i\i"consumption":\i\i"consumption": \i\v
              usw. bis zu 32 virtuelle Eingänge

              Es gibt keinen Loxone-Zählerblock, der 32 obskure Werte in sinnvolle Daten umwandeln kann.
              Die einzige Metrik, die man daraus gewinnen kann, ist ein rollierender 32-Tage-Wert. Dazu müssten alle 32 virtuellen Eingänge mit Additionsblöcken verbunden werden, um einen einzigen Ausgang zu erhalten.

              Die Alternative ist die Verwendung der eingebauten Statistiken und die Anzeige des Zählerblocks "cumulative_daily". Mit einem einzigen Eingang lassen sich im Laufe der Zeit informative Diagramme erstellen.

              Die folgenden Zählerstatistiken beziehen sich auf die Solarproduktion, können aber auch Liter als Metrik anzeigen.


              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Meter statistics.png Ansichten: 0 Größe: 38,9 KB ID: 407820


              Der nächste Schritt besteht darin, den "cumulative_daily"-Wert so nahe wie möglich an 11:59PM zu optimieren.
              Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

              Kommentar

              • Tico
                Lox Guru
                • 31.08.2016
                • 1035

                #10
                Der Zählerblock ist so konzipiert, dass er entweder einen absoluten Wert, der kontinuierlich ansteigt, oder eine Durchflussrate (relative Zählung) akzeptiert. Ihr "cumulative daily" ist ein absoluter Wert, der vermutlich um Mitternacht auf Null zurückgesetzt wird. Dies ist ein Experiment, um zu sehen, wie das Messgerät damit umgeht.

                Sie können einen gespeicherten Wert erwarten, der den Wasserverbrauch gegen 23:54 Uhr widerspiegelt.

                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Pulse At 235400a.png
Ansichten: 239
Größe: 28,1 KB
ID: 407823



                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Meter.png
Ansichten: 263
Größe: 37,0 KB
ID: 407822
                Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

                Kommentar

                • ALox
                  LoxBus Spammer
                  • 07.01.2017
                  • 473

                  #11
                  Biocat kls 3000-C wie zufrieden bist Du damit?
                  Zuletzt geändert von ALox; 23.10.2023, 08:52.

                  Kommentar


                  • creativo
                    creativo kommentierte
                    Kommentar bearbeiten
                    Wir wollten bewusst eigentlich keine Entkalkungsanlage nutzen und haben daher die BIOCAT gewählt. Diese soll ja vor allem die Rohre schützen. Weniger Kalk im Bad und an Armaturen hat man damit nicht. Die Steuerung über die App und die Überwachungsfunktionen sind aber super.

                  • Tico
                    Tico kommentierte
                    Kommentar bearbeiten
                    Hallo creativo. Wie hat die Erfassung der Messdaten um 23:54 Uhr geklappt?
                • creativo
                  Smart Home'r
                  • 19.01.2021
                  • 39

                  #12
                  Tico So richtig funktioniert der Zähler Baustein noch nicht. Ich habe z.B. am Tag Vorgestern keinen Wert in der Statistik.

                  Ich frage bei BIOCAT ob die Daten ggf. noch anders angegeben werden können über die API. So ist das sehr unzuverlässig leider.

                  Ich danke Dir aber sehr für Deine Hilfe. Ich habe viel gelernt über die HTTP Ausgänge in Loxone

                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: IMG_0184.jpg
Ansichten: 236
Größe: 181,8 KB
ID: 409030

                  Kommentar

                  • Tico
                    Lox Guru
                    • 31.08.2016
                    • 1035

                    #13
                    creativo - Es gibt noch ein paar weitere Optionen, die Sie ausprobieren können. Der Mr-Eingang am Messgerät ist für empirische Messungen vorgesehen. Sie haben eine Messung, die im Laufe des Tages "empirisch" ist, aber um Mitternacht zurückgesetzt wird.

                    Der Pf-Eingang des Zählers ist für die Durchflussmenge. Dies sind normalerweise Liter pro Stunde. Ihre Einzelmessung ist eine "Rate" in Litern pro Tag. Dies könnte mit dem Pf-Eingang funktionieren. Es hängt davon ab, wie Loxone eine Einzelmessung handhabt.

                    Schließlich könnten Sie es wieder mit dem Mr-Eingang versuchen, aber mit aktivierter relativer Messung.

                    Bei jeder Wiederholung löschen Sie das Messgerät vollständig und beginnen mit einem neuen. Die alten Messungen können manchmal die neuen Messungen auf einem wiederverwendeten Messgerät beeinflussen.​​
                    Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

                    Kommentar

                    Lädt...