BWT Perla mit neuer API (Entkalkungssystem von BWT)

Begonnen von herbert19, 31 Juli 2025, 09:20:24

Vorheriges Thema - Nächstes Thema

herbert19

für BWT Perla gibt es eine Beta-Version mit neuer API.
curl -u user:meinPW http://<IP>:8080/api/GetCurrentData
{
   "ActiveErrorIDs" : "",
   "BlendedWaterSinceSetup_l" : 9650,
   "CapacityColumn1_ml_dH" : 5645760,
   "CapacityColumn2_ml_dH" : 4302360,
   "CurrentFlowrate_l_h" : 0,
   "DosingSinceSetup_ml" : 0,
   "FirmwareVersion" : "2.0212",
   "HardnessIN_CaCO3" : 249,
   "HardnessIN_dH" : 14,
   "HardnessIN_fH" : 25,
   "HardnessIN_mmol_l" : 2,
   "HardnessOUT_CaCO3" : 71,
   "HardnessOUT_dH" : 4,
   "HardnessOUT_fH" : 7,
   "HardnessOUT_mmol_l" : 1,
   "HolidayModeStartTime" : -1,
   "LastRegenerationColumn1" : "2025-07-30 02:45:05",
   "LastRegenerationColumn2" : "2025-07-29 02:44:55",
   "LastServiceCustomer" : "2025-06-11 11:59:33",
   "LastServiceTechnican" : "2025-06-11 11:59:33",
   "OutOfService" : 0,
   "RegenerationCountSinceSetup" : 38,
   "RegenerationCounterColumn1" : 20,
   "RegenerationCounterColumn2" : 18,
   "RegenerativLevel" : 100,
   "RegenerativRemainingDays" : 246,
   "RegenerativSinceSetup_g" : 9159,
   "ShowError" : 0,
   "WaterSinceSetup_l" : 6512,
   "WaterTreatedCurrentDay_l" : 50,
   "WaterTreatedCurrentMonth_l" : 5005,
   "WaterTreatedCurrentYear_l" : 32700
}
liefert Werte über http.
Bei FHEM funktioniert http nicht: list BWT liefert
httpheader HTTP/1.0 404 Not Found

Wo könnte der Fehler liegen?

Anbei die API-Doku von BWT

meine fhem.cfg:
define BWT HTTPMOD http://<IP>:8080/api/GetCurrentData 60
setuuid BWT 688b059e-f33f-acb0-ceee-d800234ffa108af2
attr BWT enableControlSet 0
attr BWT reading01Name Durchfluss
attr BWT reading01Regex "CurrentFlowrate_l_h\"\s*:\s*(\d+)"
attr BWT reading02Name Gesamtverbrauch
attr BWT reading02Regex "WaterSinceSetup_l\"\s*:\s*(\d+)"
attr BWT reading03Name WasserHeute
attr BWT reading03Regex "WaterTreatedCurrentDay_l\"\s*:\s*(\d+)"
attr BWT reading04Name WasserMonat
attr BWT reading04Regex "WaterTreatedCurrentMonth_l\"\s*:\s*(\d+)"
attr BWT reading05Name RegenerativGesamt
attr BWT reading05Regex "RegenerativSinceSetup_g\"\s*:\s*(\d+)"
attr BWT reading06Name TageBisRegeneration
attr BWT reading06Regex "RegenerativRemainingDays\"\s*:\s*(\d+)"
attr BWT credentials user:meinPW


Otto123

#1
Moin,

keine Ahnung von deinem konkreten Fall, aber: Die API liefert ja offenbar json zurück, Du versuchst mit httpmod eine Webseite zu analysieren.  :o
Nimm lieber jsonmod, damit wird es wahrscheinlich auf anhieb funktionieren. In der Art:
define BWTjson JsonMod http://<IP>:8080/api/GetCurrentData
attr BWTjson readingList complete()
Bin nicht sicher wie genau man da die Credentials unterbringen muss (help JsonMod). Eventuell nimmst Du es auch einfach so, den funktionierenden curl Aufruf hast Du ja:
define BWTjson JsonMod system://curl -u user:meinPW http://<IP>:8080/api/GetCurrentData
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz