Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. BWT Weichwasseranlage auslesen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    BWT Weichwasseranlage auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      obi @demonxxl last edited by

      @demonxxl
      Hallo allerseits, komme eigentlich von einer anderen Fraktion (IP-Symcon) und habe
      zufällig diesen Betrag gefunden.
      Mein BWT Pera ist vom Jahr 2022 und hat folgende Software im Bauch
      01abcda7-7e1e-48d0-a9cb-da5c57f4dc9e-grafik.png

      Werde immer auf den blöden noVNC Server umgeleitet.

      @demonxxl welche Software hat denn deine Anlage ?

      Danke

      Gruß Jürgen

      M 1 Reply Last reply Reply Quote 0
      • M
        marlan99 @obi last edited by

        @obi Bei meiner BWT Perla seta sehe ich nur eine Firmware version 1,0806

        Falls dies etwas hilft ?

        1 Reply Last reply Reply Quote 0
        • I
          iway @demonxxl last edited by

          @demonxxl Ich nutze dein Script, funktioniert tadellos. Zieht aber ziemlich Ressourcen am Raspi...

          Falls es jemanden interessiert, so klappt es am Raspi:

          1.) Script von demonxxl runterladen und auf dem Raspi speichern.
          2.) tesseract via PIP3 installieren (Python3 muß schon laufen. Falls nicht, ebenfalls installieren, genauso PIP3).

          • sudo pip3 install pytesseract
          • sudo apt install libtesseract-dev
          • sudo apt install tesseract-ocr
            3.) PAHO mqtt installieren
          • sudo pip3 install paho-mqtt
            4.) libopenjpeg installieren
          • sudo apt-get install libopenjp2-7-dev

          Script anpassen mit eigenen Login Daten, IP, MQTT Server. Dann läuft es.

          Starten mit sudo python3 ./scriptname.py

          Viel Spaß!

          und Danke an @demonxxl

          Stefan Schnake 1 Reply Last reply Reply Quote 0
          • I
            iway @demonxxl last edited by

            @demonxxl I added another time.sleep(20) in the main program to have an additional delay and only poll every 20 seconds. Much lower load on my raspi that way.

            1 Reply Last reply Reply Quote 0
            • D
              drohhyn @demonxxl last edited by

              @demonxxl sagte in BWT Weichwasseranlage auslesen:

              Für die aktuelle VNC-basierte Firmware habe ich mal ein (sehr einfaches!) Skript geschrieben, welches sich per VNC auf der Anlage einloggt, die Passworteingabe simuliert und dann per OCR die beiden Werte "Durchfluss" und "Volumen" ausliest.
              Die Werte werden dann per MQTT an einen Broker geschickt.

              Den Source-Code findet ihr hier:
              https://github.com/d3m0nxxl/bwt_perla_smartmeter

              Würde mich mal interessieren, ob es bei einem von euch auch funktioniert. Verbesserungsvorschläge nehme ich natürlich auch gerne an!

              Thanks for your work! I just got the new firmware some days ago and searched for a new solution (not via cloud) coming from a similar script integrated into my openhab setup.
              I've just forked your script, because my resolution seems to be different and I had to change most coordinates. I also re-factored the calls and made a function + added reading the remaining NaCl. Maybe it's also worth to add the consumption per month and year, I will have a look into that.
              Currently my script is running in a detached screen (on a server, not a pi), any other opinion?

              mbhomie007 1 Reply Last reply Reply Quote 0
              • Stefan Schnake
                Stefan Schnake @iway last edited by Stefan Schnake

                @demonxxl Vielen Dank für die Tolle Arbeit.
                ich habe das ganze in eine Container gebracht. Läuft bei mir nun in der ContainerStation der QNAP Nas
                https://github.com/sschnake/bwt_perla_smartmeter

                1 Reply Last reply Reply Quote 0
                • mbhomie007
                  mbhomie007 @drohhyn last edited by

                  Hallo @tombox
                  Frohes neues Jahr erstmal!
                  Hast du Kapazität und könntest dieses Skript in deinen Adapter integrieren?

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tombox @mbhomie007 last edited by

                    @mbhomie007 schwierig mit OCR und vncclient

                    1 Reply Last reply Reply Quote 0
                    • G
                      gyle last edited by

                      FYI - mittlerweile habe ich eine Lösung gefunden über die Cloud an die Daten zu kommen.
                      siehe https://bwt-real-smarthome-backend.azurewebsites.net

                      habe mir dazu ein Blockly geschrieben.

                      Q 1 Reply Last reply Reply Quote 0
                      • Q
                        qwertz @gyle last edited by

                        @gyle sagte in BWT Weichwasseranlage auslesen:

                        FYI - mittlerweile habe ich eine Lösung gefunden über die Cloud an die Daten zu kommen.
                        siehe https://bwt-real-smarthome-backend.azurewebsites.net

                        habe mir dazu ein Blockly geschrieben.

                        Das hört sich gut an !
                        Kannst du das Blockly teilen mit uns ?

                        Besten Dank !

                        G T 2 Replies Last reply Reply Quote 0
                        • G
                          gyle @qwertz last edited by gyle

                          @qwertz
                          In der URL muss dann noch euer Produkt-code (SN) rein. und der API key
                          ich habe 3 Objekte angelegt (Wasserverbrauch_gestern, Füllstand_Salz und Status.
                          485eb147-592b-42b7-bbda-605c2ab21967-image.png

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <variables>
                              <variable id="{^#@mm$`LvD2yq~bM==0">since</variable>
                              <variable id="7Bf_zZ,|3JbY[Sr;;[ZR">until</variable>
                              <variable id="5Y(p6$V4JW1Gwlj!afH?">api_key</variable>
                              <variable id="]^02}el_a.}BLFPBoK_k">url</variable>
                              <variable id="P/;-p8kU@!nRF.25:q!O">url2</variable>
                              <variable id="_03`@CsFtd?`/XOE0Nea">result</variable>
                            </variables>
                            <block type="comment" id="|fyRu%!nNeRhQ}zs`{F/" x="438" y="-287">
                              <field name="COMMENT">Täglich um 01:00 Uhr Wasserverbrauch von BWT Cloud abfragen und in Datenpunkt schreiben.</field>
                              <next>
                                <block type="schedule" id="JBgcg*@gt/C~O$woUf[3">
                                  <field name="SCHEDULE">{"time":{"exactTime":true,"start":"01:00"},"period":{"days":1}}</field>
                                  <statement name="STATEMENT">
                                    <block type="variables_set" id=",RyccK|oIP$xxWMi6_[k">
                                      <field name="VAR" id="{^#@mm$`LvD2yq~bM==0">since</field>
                                      <value name="VALUE">
                                        <block type="convert_from_date" id="szqS727YvG6LLx(4l%jp">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                          <field name="OPTION">custom</field>
                                          <field name="FORMAT">JJJJ-MM-TT</field>
                                          <value name="VALUE">
                                            <block type="math_arithmetic" id="*yDP}]SGi#J+Sh9pUF0;">
                                              <field name="OP">MINUS</field>
                                              <value name="A">
                                                <shadow type="math_number" id="NN4{X6ay5+i~4},*Ag+9">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="time_get" id="8@Udbb~suvrC.Y.u2)a%">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                  <field name="OPTION">object</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="5wo)yDNCu4@kNq5~c2m6">
                                                  <field name="NUM">86400000</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="oZi#MCqD_bTw.JTc}v`b">
                                          <field name="VAR" id="7Bf_zZ,|3JbY[Sr;;[ZR">until</field>
                                          <value name="VALUE">
                                            <block type="time_get" id="-}l~_spdI+9fQqdI/Gt+">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                              <field name="OPTION">custom</field>
                                              <field name="FORMAT">JJJJ-MM-TT</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id=",=sk0Kd[/]VT!gM=)C/a">
                                              <field name="VAR" id="5Y(p6$V4JW1Gwlj!afH?">api_key</field>
                                              <value name="VALUE">
                                                <block type="text" id="00}3A!K}9C%*nt.op=7s">
                                                  <field name="TEXT">XYZ</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="R73J$#MIp8_Vp*g;I_Vd">
                                                  <field name="VAR" id="]^02}el_a.}BLFPBoK_k">url</field>
                                                  <value name="VALUE">
                                                    <block type="text_join" id="8jU@k?nm1-!HF2EEhP2B" inline="false">
                                                      <mutation items="7"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="(xi=zG)5zzu1VUWR5_yI">
                                                          <field name="TEXT">curl -X GET "https://bwt-real-smarthome-backend.azurewebsites.net/api/Perla/6CMR-TMTK/waterconsumption?since=</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="variables_get" id="7yOgrRt2~jH-)vR$lsZ,">
                                                          <field name="VAR" id="{^#@mm$`LvD2yq~bM==0">since</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="k]elWH-i.E_[)y^YWeUE">
                                                          <field name="TEXT">&amp;until=</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD3">
                                                        <block type="variables_get" id="gq[];Hf#m9^Bz:!)`nT4">
                                                          <field name="VAR" id="7Bf_zZ,|3JbY[Sr;;[ZR">until</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD4">
                                                        <block type="text" id="!0y$S%JfGYrQB442Yb5f">
                                                          <field name="TEXT">" -H  "accept: */*" -H  "ApiKey: </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD5">
                                                        <block type="variables_get" id="B`H*4,a1d0itb,;m}Ix{">
                                                          <field name="VAR" id="5Y(p6$V4JW1Gwlj!afH?">api_key</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD6">
                                                        <block type="text" id="E;jumiRKduuVJ=ww_8}P">
                                                          <field name="TEXT">"</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="exec" id="OMwQ%7n75x_$`{4hBZ!c" inline="true">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                      <field name="WITH_STATEMENT">TRUE</field>
                                                      <field name="LOG"></field>
                                                      <value name="COMMAND">
                                                        <shadow type="text" id="668`Wbm%~rygt2*$8vPg">
                                                          <field name="TEXT">curl -X GET "https://bwt-real-smarthome-backend.azurewebsites.net/api/Perla/6CMR-XXXX/waterconsumption?since=2023-07-29&amp;until=2023-07-30" -H  "accept: */*" -H  "ApiKey: XYZ"</field>
                                                        </shadow>
                                                        <block type="variables_get" id="s37WFIreI,*m?KSv?{7h">
                                                          <field name="VAR" id="]^02}el_a.}BLFPBoK_k">url</field>
                                                        </block>
                                                      </value>
                                                      <statement name="STATEMENT">
                                                        <block type="update" id="bXS}-9l{Q04f^ouV|u/i">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">0_userdata.0.Haus.BWT_Wasserverbrauch.Wasserverbrauch_gestern</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="get_attr" id="0`%?n_T;a$oH])PA@IhB" inline="false">
                                                              <value name="PATH">
                                                                <shadow type="text" id="~o2)oki8%/+OmD9nm1ad">
                                                                  <field name="TEXT">totalWaterConsumption</field>
                                                                </shadow>
                                                              </value>
                                                              <value name="OBJECT">
                                                                <block type="variables_get" id="%O.,ehBmQEuK?s!Sz}ks">
                                                                  <field name="VAR" id="_03`@CsFtd?`/XOE0Nea">result</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="timeouts_wait" id="he_VhY{4Bs/h=F!k`FEM">
                                                          <field name="DELAY">3</field>
                                                          <field name="UNIT">sec</field>
                                                          <next>
                                                            <block type="variables_set" id=":}K~wx+GVOiO]UlhIa^R">
                                                              <field name="VAR" id="P/;-p8kU@!nRF.25:q!O">url2</field>
                                                              <value name="VALUE">
                                                                <block type="text_join" id="2+/;0PmeYpU-=jCb,TZi" inline="false">
                                                                  <mutation items="3"></mutation>
                                                                  <value name="ADD0">
                                                                    <block type="text" id="XCo+-{=9mqn(tN~VYPvS">
                                                                      <field name="TEXT">curl -X GET "https://bwt-real-smarthome-backend.azurewebsites.net/api/Perla/6CMR-XXXX" -H  "accept: */*" -H  "ApiKey: </field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD1">
                                                                    <block type="variables_get" id="W/tLT/OQc4|mcZvPv,P~">
                                                                      <field name="VAR" id="5Y(p6$V4JW1Gwlj!afH?">api_key</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD2">
                                                                    <block type="text" id=";]{Di47#I~}@e0mu9^5#">
                                                                      <field name="TEXT">"</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="exec" id=",D4;}xBxu:2.@VB80*m}" inline="true">
                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                                  <field name="WITH_STATEMENT">TRUE</field>
                                                                  <field name="LOG"></field>
                                                                  <value name="COMMAND">
                                                                    <shadow type="text" id="668`Wbm%~rygt2*$8vPg">
                                                                      <field name="TEXT">curl -X GET "https://bwt-real-smarthome-backend.azurewebsites.net/api/Perla/6CMR-XXXX/waterconsumption?since=2023-07-29&amp;until=2023-07-30" -H  "accept: */*" -H  "ApiKey: XYZ"</field>
                                                                    </shadow>
                                                                    <block type="variables_get" id="`F5}U@#R,11]UOXBeG2%">
                                                                      <field name="VAR" id="P/;-p8kU@!nRF.25:q!O">url2</field>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="STATEMENT">
                                                                    <block type="update" id="|dZkQqThvTcrd{,7_E,t">
                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                      <field name="OID">0_userdata.0.Haus.BWT_Wasserverbrauch.Status</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE">
                                                                        <block type="get_attr" id="{XR{8H2IyR9J/@E3bgs5" inline="false">
                                                                          <value name="PATH">
                                                                            <shadow type="text" id="~Grdt4AVMiukVB0/:5$@">
                                                                              <field name="TEXT">stateTitle</field>
                                                                            </shadow>
                                                                          </value>
                                                                          <value name="OBJECT">
                                                                            <block type="variables_get" id="J8)w|Uk_Nt)P({Imf{3@">
                                                                              <field name="VAR" id="_03`@CsFtd?`/XOE0Nea">result</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <next>
                                                                        <block type="update" id="TSuYBjc-nU-qFlCn;OJH">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                          <field name="OID">0_userdata.0.Haus.BWT_Wasserverbrauch.Füllstand_Salz</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE">
                                                                            <block type="get_attr" id=":d@o$#[iQs0r9kV8klX1" inline="false">
                                                                              <value name="PATH">
                                                                                <shadow type="text" id="WAg_YQ3hc0RSmM?)pe:;">
                                                                                  <field name="TEXT">remainingAmountOfResourcePercent</field>
                                                                                </shadow>
                                                                              </value>
                                                                              <value name="OBJECT">
                                                                                <block type="variables_get" id="jbVuMm=HIS.:$Hsa8ao_">
                                                                                  <field name="VAR" id="_03`@CsFtd?`/XOE0Nea">result</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </statement>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </xml>
                          

                          Für Optimierungsvorschläge bin ich offen

                          B Q 2 Replies Last reply Reply Quote 0
                          • B
                            basti2022 @gyle last edited by

                            Gibt es hier mitlerweile eine andere Möglichkeit ? Ich blick da nicht mehr durch.

                            1 Reply Last reply Reply Quote 0
                            • T
                              tombox @qwertz last edited by

                              @qwertz wenn jemand so ein cloud account hat kann ich es auch in den Adapter einbauen

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                gyle @tombox last edited by

                                @tombox das wäre klasse - ich habe einen account

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  tombox @gyle last edited by

                                  @gyle schick doch per pn oder mail tombox2020@gmail.com

                                  B 1 Reply Last reply Reply Quote 1
                                  • B
                                    basti2022 @tombox last edited by

                                    @tombox kann man noch unterstützen ?

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      tombox @basti2022 last edited by

                                      @basti2022 wie gesagt brauche ein cloud Zugang via email

                                      Q 1 Reply Last reply Reply Quote 0
                                      • Q
                                        qwertz @tombox last edited by

                                        @tombox
                                        Hi tombox !

                                        siehe email von jetzt gerade.
                                        Sag Bescheid, wenn du den Account nicht mehr brauchst, damit ich das Passwort wieder ändern kann.

                                        Besten Dank Gruß !

                                        G 1 Reply Last reply Reply Quote 1
                                        • G
                                          gyle @qwertz last edited by

                                          @qwertz irgendwie scheint die API nict mehr zu gehen, zumindest kommt man seit tagen nicht mehr auf die webseite!?

                                          1 Reply Last reply Reply Quote 0
                                          • Q
                                            qwertz last edited by

                                            Aktuell geht bei mir der BWT Adapter V0.0.5 mit AppLogIn Daten. Das hat tombox netterweise auch nochmal geprüft.

                                            Die Funktion mit diesem Adapter auch lokal über IP-Adresse Daten auszulesen funktioniert seit geraumer Zeit nicht mehr.

                                            Leider liefert die AppSchnittstelle des Adapters weniger Daten. Z.B. fehlt mit persönlich der Gesamtwasserverbrauch.

                                            Dies geht aktuell wohl nur über ein Script mit OCR.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            897
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            18
                                            121
                                            13886
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo