Wasserenthärtungsanlage, welcher Hersteller?

Begonnen von micomat, 12 September 2016, 20:13:50

Vorheriges Thema - Nächstes Thema

alexmetz

Zitat von: ak323 am 11 Oktober 2016, 09:52:46
Ja.

Ja, ich habe eine BWT AQA life (Duplex) in einem 60er Unterschrank !

Ups, die ist ja noch garnicht in fhem integriert ☺️

geht das überhaupt? Also hat die BWT überhaupt irgendeine ne Möglichkeit sie an Fhem anzubinden und falls ja, wie?
Mein Installateur hat nämlich auch nur BWT im Angebot...:
FHEM auf RaspberryPi 4
Homematic

Jewe

Hallo,

gibt es zur Wasserenthärtungsanlage von Syr Lex10 schon neue Erkenntnisse zur Einbindung in Fhem?

Hat jemand solch eine Anlage mit fhem gekoppelt ?

Jens

RoBra81

Hallo,

nach langem Kampf habe ich für mich mit Hilfe der Seiten https://www.msxfaq.de/sonst/iot/syr_lexplus_10.htm und http://www.weimars.net/?p=147#comment-9941 eine Lösung gefunden, die ich hier kurz vorstellen möchte. Da meine Kenntnisse in Sachen apache-Server, php, HTTP, DNS und Co. nur marginal sind, habe ich mir viel zusammen kopiert und auch viel durch probieren gelöst, was vermutlich auch anders/einfacher/besser ginge - für Hinweise bin ich dankbar. Hier nun mein Weg:

Zunächst einmal habe ich auf einem Server auf dem ein apache-Server und pihole laufen. Da dieser sowieso als DNS-Server im Netzwerk fungiert, habe ich dem piHole "erklärt", dass er die beiden von der Syr verwendeten Adressen auf den eigenen Server umleiten soll. Hierfür zunächst dem pihole iene zusätzliche DNS-Liste beibringen:

echo "addn-hosts=/etc/pihole/lan.list" | sudo tee /etc/dnsmasq.d/02-lan.conf

und anschließend die Datei lan.list anlegen

nano /etc/pihole/lan.list

und mit folgendem Inhalt füllen:

<IP eures Servers> syrconnect.consoft.de syrconnect
<IP eures Servers> connect.saocal.pl saocal


Nach einem

sudo pihole restartdns

mit anschließendem Neustart der Syr (Stecker kurz ziehen, da der DNS scheinbar nur beim Start abgefragt wird) redet die Syr nur noch mit eurem Server - dies kann mit

tail -f /var/log/apache2/access.log


überprüft werden - hier sollten nun regelmäßig 404-Einträge von der Syr erscheinen.

Nun brauchen wir einige module vom apache-Server, um die Anfragen umzuleiten (kann sein, dass ich hier zu viel aktiviert habe, aber so funktioniert es zumindest bei mir):


sudo a2enmod rewrite
sudo a2enmod *proxy*
sudo service apache2 restart


Nun können wir die Anfrage von der Syr auf zwei eigene php-Scripte umleiten (ich gehe hier davon aus, dass sich das apache-Hauptverzeichnis in /var/www/html befindet - muss ggf. angepasst werden). Zunächst legen wir ein Verzeichnis für die Syr an:

mkdir /var/www/html/Syr

In diesem Verzeichnis legen wir zwei php-Dateien mit dem folgenden Inhalt an:

nano /var/www/html/Syr/GetBasicCommands.php

HTTP/1.1 200 OK
Date: Thu, 13 Sep 2018 20:06:29 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 676
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: _xsrf=2|e6f99dd9|272e08c82ff1946ce45cf97240d0db2a|1536869189; Path=/
Server: TornadoServer/4.4

<sc version="1.0"><d><c n="getSRN" /><c n="getSTA" /><c n="getMAC" /><c n="getDEN" /><c n="getDN1" /><c n="getDN2" /><c n="getDEV" /><c n="getSCR" /><c n="getVER" /><c n="getFIR" /><c n="getLGO" /><c n="getPRS" /><c n="getPST" /><c n="getWHU" /><c n="getOWH" /><c n="getIWH" /><c n="getFLO" /><c n="getRES" /><c n="getSCR" /><c n="getVS1" /><c n="getVS2" /><c n="getVS3" /><c n="getCS1" /><c n="getCS2" /><c n="getCS3" /><c n="getSS1" /><c n="getSS2" /><c n="getSS3" /><c n="getRG1" /><c n="getRG2" /><c n="getRG3" /><c n="getPA1" /><c n="getPA2" /><c n="getPA3" /><c n="getLAN" /><c n="getCYN" /><c n="getCYT" /><c n="getRTI" /><c n="getDAT" /><c n="setRCE" v="0" /></d></sc>


(Ich vermute, dass das HTTP-gedöns am Anfang falsch ist, aber da es so funktioniert, habe ich es erstmal dabei belassen)

nano /var/www/html/Syr/GetAllCommands.php

<?php 
  
echo"";
  
$xml=$_POST['xml'];

  
$data "";
  
$json "";
  
$xmlparser = new SimpleXMLElement($xml);
  for(
$i=0;$i$xmlparser->d->c->count();$i++)
  
$data.= "\"".$xmlparser->d->c[$i]['n']."\":\"".$xmlparser->d->c[$i]['v']."\",\n";

  
$json "{\n\"LEX\":{\n";
  
$json $json.$data;
  
$json $json."\"\":\"\"";
  
$json $json."\n}\n}";

  
$filehandler=fopen("lex.json","w");
  
fwrite($filehandler,$json);
  
fclose($filehandler);

  
$filehandler=fopen("lex.xml","w");
  
fwrite($filehandler,$xml);
  
fclose($filehandler);
?>



(Unter Umständen müssen noch php bzw. zusätzliche php-Module (xml?) installiert werden)

Nun ändern wir noch den Besitzer der neuen Dateien:

chown -R www-data:www-data /var/www/html/Syr

Jetzt müssen wir noch die Anfragen der Syr auf die neuen Dateien umleiten. Hierfür legen wir eine .htaccess-Datei an:

nano /var/www/html/.htaccess

mit folgendem Inhalt:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} GetBasicCommands$ [NC]
RewriteRule ^(.*)$ http://<IP eures Servers>/Syr/GetBasicCommands.php [P]
RewriteCond %{REQUEST_URI} GetAllCommands$ [NC]
RewriteRule ^(.*)$ http://<IP eures Servers>/Syr/GetAllCommands.php [P]


So, nun werden bei jeder Anfrage von der Syr die Dateien lex.json und lex.xml im Verzeichnis /var/www/html/Syr/ angelegt bzw. aktualisiert. Jetzt muss nur noch die Datei lex.json im FHEM mittels HTTPMOD ausgelsen und zur Anzeige gebracht werden:

defmod SyrLexPlus HTTPMOD http://<IP eures Servers>/Syr/lex.json 60
attr SyrLexPlus userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading05OExpr reading06JSON reading06Name reading07JSON reading07Name reading08JSON reading08Name reading09JSON reading09Name reading10JSON reading10Name reading11JSON reading11Name reading12JSON reading12Name reading13JSON reading13Name reading14JSON reading14Name reading15JSON reading15Name reading16JSON reading16Name reading17JSON reading17Name reading18JSON reading18Name reading19JSON reading19Name reading20JSON reading20Name reading21JSON reading21Name reading22JSON reading22Name reading23JSON reading23Name reading24JSON reading24Name reading25JSON reading25Name reading26JSON reading26Name reading27JSON reading27Name reading28JSON reading28Name reading29JSON reading29Name reading30JSON reading30Name reading31JSON reading31Name reading32JSON reading32Name reading33JSON reading33Name reading34JSON reading34Name reading35JSON reading35Name reading36JSON reading36Name reading37JSON reading37Name reading38JSON reading38Name reading39JSON reading39Name
attr SyrLexPlus DbLogInclude .*
attr SyrLexPlus enableControlSet 1
attr SyrLexPlus event-on-change-reading Restkapazitaet,Rohwasserhaerte,Salzvorrat,Wasserdruck,Weichwasserhaerte,get.*
attr SyrLexPlus reading01JSON LEX_getSRN
attr SyrLexPlus reading01Name Seriennummer
attr SyrLexPlus reading02JSON LEX_getVER
attr SyrLexPlus reading02Name Firmware
attr SyrLexPlus reading03JSON LEX_getIWH
attr SyrLexPlus reading03Name Rohwasserhaerte
attr SyrLexPlus reading04JSON LEX_getOWH
attr SyrLexPlus reading04Name Weichwasserhaerte
attr SyrLexPlus reading05JSON LEX_getPRS
attr SyrLexPlus reading05Name Wasserdruck
attr SyrLexPlus reading05OExpr $val / 10
attr SyrLexPlus reading06JSON LEX_getSS1
attr SyrLexPlus reading06Name Salzvorrat
attr SyrLexPlus reading07JSON LEX_getRES
attr SyrLexPlus reading07Name Restkapazitaet
attr SyrLexPlus reading08JSON LEX_getSTA
attr SyrLexPlus reading08Name getSTA
attr SyrLexPlus reading09JSON LEX_getMAC
attr SyrLexPlus reading09Name MAC_Adresse
attr SyrLexPlus reading10JSON LEX_getDEN
attr SyrLexPlus reading10Name getDEN
attr SyrLexPlus reading11JSON LEX_getDN1
attr SyrLexPlus reading11Name getDN1
attr SyrLexPlus reading12JSON LEX_getDN2
attr SyrLexPlus reading12Name getDN2
attr SyrLexPlus reading13JSON LEX_getDEV
attr SyrLexPlus reading13Name getDEV
attr SyrLexPlus reading14JSON LEX_getSCR
attr SyrLexPlus reading14Name getSCR
attr SyrLexPlus reading15JSON LEX_getFIR
attr SyrLexPlus reading15Name getFIR
attr SyrLexPlus reading16JSON LEX_getLGO
attr SyrLexPlus reading16Name getLGO
attr SyrLexPlus reading17JSON LEX_getPST
attr SyrLexPlus reading17Name getPST
attr SyrLexPlus reading18JSON LEX_getWHU
attr SyrLexPlus reading18Name getWHU
attr SyrLexPlus reading19JSON LEX_getFLO
attr SyrLexPlus reading19Name getFLO
attr SyrLexPlus reading20JSON LEX_getSCR
attr SyrLexPlus reading20Name getSCR
attr SyrLexPlus reading21JSON LEX_getVS1
attr SyrLexPlus reading21Name getVS1
attr SyrLexPlus reading22JSON LEX_getVS2
attr SyrLexPlus reading22Name getVS2
attr SyrLexPlus reading23JSON LEX_getVS3
attr SyrLexPlus reading23Name getVS3
attr SyrLexPlus reading24JSON LEX_getCS1
attr SyrLexPlus reading24Name getCS1
attr SyrLexPlus reading25JSON LEX_getCS2
attr SyrLexPlus reading25Name getCS2
attr SyrLexPlus reading26JSON LEX_getCS3
attr SyrLexPlus reading26Name getCS3
attr SyrLexPlus reading27JSON LEX_getSS2
attr SyrLexPlus reading27Name getSS2
attr SyrLexPlus reading28JSON LEX_getSS3
attr SyrLexPlus reading28Name getSS3
attr SyrLexPlus reading29JSON LEX_getRG1
attr SyrLexPlus reading29Name getRG1
attr SyrLexPlus reading30JSON LEX_getRG2
attr SyrLexPlus reading30Name getRG2
attr SyrLexPlus reading31JSON LEX_getRG3
attr SyrLexPlus reading31Name getRG3
attr SyrLexPlus reading32JSON LEX_getPA1
attr SyrLexPlus reading32Name getPA1
attr SyrLexPlus reading33JSON LEX_getPA2
attr SyrLexPlus reading33Name getPA2
attr SyrLexPlus reading34JSON LEX_getPA3
attr SyrLexPlus reading34Name getPA3
attr SyrLexPlus reading35JSON LEX_getLAN
attr SyrLexPlus reading35Name getLAN
attr SyrLexPlus reading36JSON LEX_getCYN
attr SyrLexPlus reading36Name getCYN
attr SyrLexPlus reading37JSON LEX_getCYT
attr SyrLexPlus reading37Name getCYT
attr SyrLexPlus reading38JSON LEX_getRTI
attr SyrLexPlus reading38Name getRTI
attr SyrLexPlus reading39JSON LEX_getDAT
attr SyrLexPlus reading39Name Datum


So, das sollte es gewesen sein. Ich habe zunächst mal die Einträge, die zugeordnet werden konnten mit Namen versehen und alle anderen so belassen, wie sie von der Syr kommen - vielleicht können die auch irgendwann sinnvoll zugeordnet werden.

Viel Erfolg damit
Ronny

Kermit20

Hallo Gemeinde,

ich hole das alte Thema mal hoch. Ich beschäftige mich aktuell auch mit dem Thema Enthärtungsanlage... Welcher Hersteller, welche Integration ist möglich... eigentlich geht es nur noch um Grünbeck, Judo oder eben Syr...

Meine recherchen haben Softwareupdates der SYR anlagen hervorgebracht, Zuletzt Anfang des Jahres. Die Lösung von "RoBra81" spricht mich an, da die Daten zu Hause bleiben.

Daher meine Frage, läuft das auch mit der aktuellen Software oder gibt es schon andere Lösungen mit der diskutierten API ?

Danke für euer Feedback.
RPi1: FHEM mit HMLAN und CUL Eigenbau: diverse Homematic Geräte; Technoline Temp/Feuchte 868 MHz // Schalsteckdosen 433 MHz
RPi2: FHEM mit Viessmann(optolink) mit VControl und 1W Sensoren
RPi3: Apache / Owncloud 9

Elenapellena

Eine Freundin von mir hat die Aqmos Wasserenthärungsanlage und ist mit der Preis-Leistung ziemlich zufrieden, weshalb ich überlegte mir diese auch zuzulegen.

Papa Romeo

Zitat von: Elenapellena am 15 April 2021, 15:45:37
Eine Freundin von mir hat die Aqmos Wasserenthärungsanlage und ist mit der Preis-Leistung ziemlich zufrieden, weshalb ich überlegte mir diese auch zuzulegen.

Die hab ich auch und kann mich Elenapellena nur anschließen.

Ist zwar von Haus aus nicht "Smart" (meine inzwischen schon), aber für das Geld ... gibt´s echt nichts auszusetzen ...

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

AxelSchweiss

Ich habe mir mittlereile eine BWT Bewamat Duo repariert.
Die habe ich mit Getriebeschaden geschenkt bekommen und für 80 Euro eine mit Elektronikschaden gekauft.
Was ich bei der Reperatur alles an konstruktivem Blödsinn gesehen habe spottet jeder Beschreibung.
Den Elektronikschaden (Spannungsregeler)  konnte ich auch noch reparieren. Jetzt habe ich eine funktionierende und einen Ersatzteilspender :-)
Die Elektronik die mir bei der alten Anlage fehlt, und hier geht es nur um Monitoring, werde ich mittels eines ESP32 und ein paar Sensoren nachrüsten. Da weiss ich dann was ich habe.
(Im Prinzip könnte man sich die Steuerung aber auch selbst programieren. So viel macht die nicht)

Ich habe mich wirklich intensiv mit dem Thema Enthärter auseinandergesetzt. Mein Fazit ist:
Das Grundprinzip ist bei allen Ionenaustauscher gleich, lediglich das "drumherum" variiert.
Entscheidend für die Haltbarkeit ist die mechanische Umsetztung (Ventile, Getriebe, Schmierung, .. )
Von daher empfehle ich einen Anlage zu nehmen die möglichst weit verbreitet ist und derren Teile man im Internet bekommt.
Viele Firmen , darunter auch BWT, knebeln die Kunden mit Wartungsverträgen oder geben die Serviceunterlagen nur an Fachhändler raus (so wie bei vielen Heizungen).
Dann wird es mit dem selbst reparieren schwierig. Meine hat auch nicht dokumentierte DIP-Schalter und Statuscodes.

Ebenso halte ich nicht viel von den (wirklich bewundernswerten) Hacks um die Anlagen dann doch an FHEM anzudocken.
Beim nächsten (zwangs) Firmwareupdate kann es schon vorbei sein.
Entweder der Hersteller bietet einen offenen Zugang an oder er ist raus. Und ob ich dem Hersteller Zugang zu meiner Anlage (mittels Cloud und so) gewähre entscheide ich.
Wenn die volle Funktion der Anlage davon abhängig ist ist er ebenfalls raus.

Leider bleiben dann meistens nur noch die konservaitven Anlagen übrig. Die machen ihren Dienst aber genau so gut. Es fehlen halt die Gimmicks.
Die Anlage steht eh im Keller und schreit ab und zu nach Salz und ev. Fehler, mehr möchte ich von der Anlage auch gar nicht hören. :-)

Papa Romeo

Zitat von: Stef90 am 23 Mai 2021, 15:33:57
Ist eines dieser Modelle vertrauenswürdig?

ich hab die Dritte (R2D2) aus deiner Vergleichsliste und bin damit recht zufrieden. Hat zwar keine Sensorik, aber das hab ich über eine
Gewichtsmessung und eine Wasserdurchlaufmessung nachgerüstet. Somit bekommen ich ein Mitteilung, wann ich Salz nachfüllen sollte.
Über die Wasserdurchlaufmessung lass ich mir "gaudihalber" das Spülverhalten der Anlage anzeigen.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary