[Modul] SyrConnect

Es gibt nun ein Modul zur Anbindung eines Gerätes der Firma Syr der Modellreihe Connect über die öffentliche API im lokalen Netz.

  1. Voraussetzungen
  • mindestens IP-Symcon 6.0
  • eine entsprechender Syr Connect-Gerät eingebunden im lokalen Netzwerk
  1. Enthaltene Module
    SyrCOnnect

  2. Installation
    Über den Module Store!
    Zur Zeit noch Beta, also direkt nach Syr Connect suchen.

  3. Dokumentation
    IPSymconSyrConnect

Es werden alle relevanten Informationen ausgelesen und Funktionen zur Verfügung gestellt.

Derzeit ist nur ein SafeTech + eingebunden, für die anderen Modelle dieser Reihe (siehe Übersicht) bitte an den Autor wenden.

Hallo Demel,

ich wollte demnächst einen syr safetech connect kaufen und einbinden.

Könntest du das Modul bitte um dieses Modell erweitern?

Leider hat das genannte Modell nicht die integrierte API (siehe SYR Geräte API).
Nur die hier aufgeführten Modelle sind möglich.
Ich hatte seinerzeit auch mit diesem kompakten Modell geliebäugelt und wegen der fehlenddn API mit dem Hersteller- Support gemailt - leider ohne Erfolg.
Es gibt zwar hier und da im Netz Lösungen, wo wohl die Kommunikation gehackt wurde, war mir aber damals zu vage und daher hatte ich den SafeTech+ genommen

Es sollte laut Github “ahornung SYR SafeTech Connect“ möglich sein über einen undokumentierten Port 5333 eine Antwort im JSON Format zu bekommen:

Aktivieren des Admin Zugriffs:
http://{$ip}:5333/safe-tec/set/ADM/(2)f

Alle Daten auslesen:
http://{$ip}:5333/safe-tec/get/all

Ja, dieses Github-Repository kommt mir bekannt vor. Das ist aber eben nicht die offizielle API, sondern eine durch Debuggern herausgearbeitet, die bei bestimmten Versionen dieses Modells wohl funktioniert.
In dem Loxome-Foren geht es dann für das gleiche Modell aber um MQTT und es gibt noch andere, die noch einen anderen Weg haben.

Es ist immer ein Problem, wenn man für eine Gerät, das man nicht selber in den Händen hat, eine unbekannte API programmieren soll. Habe ich im Laufe des Jahre einige Male gemacht, kam aber häufiger nicht zu einem befriedigenden Ende.
Von daher hatte ich für mich das ausgeschlossen, das nochmal zu machen und nicht auf Geräteanschlüsse beschränk, die ich selber testen kann.
Der Datenabruf ist das eine, besonders kompliziert wird es dann, wenn man auch etwas steuern möchte.

Nun ist aber, wenn da wirklich json zurück kommt, ein Aufruf von http://{$ip}:5333/safe-tec/get/all in einem Script nicht so kompliziert (curl oder file_get_contents und dann mit json_decode aus dem Rückgabewert dann eine Struktur machen und die auslesen).
Und die interessanten Werte der json-Struktur könntest DU dann in selbst angelegte Variablen schreiben.

@demel42 ich bin jetzt etwas verwirrt :thinking:

In deinem Modul kann ich SafeTech als Gerät auswählen und erhalte auch Werte (einigen sind wohl durch “ADM” geschützt?)

image

Ja, in der API Dokumentation ist das Gerät nicht aufgeführt. Aber es liefert Daten:

dump Syr SafeTech.txt (22,5 KB)

JSON Antwort auf http://:5333/safe-tec/get/all sieht bei mir so aus:

{"getSRN":"252025043","getVER":"Safe-Tech V3.56","getTYP":"140","getCNO":"RDGX63708X3Z8ZZ","getMAC":"0c:73:eb:52:ba:1e","getAB":"1","getPRF":"1","getPRN":"2","getPN1":"Anwesend","getPV1":"500","getPT1":"60","getPF1":"3500","getPM1":"1","getPR1":"0","getPB1":"1","getPA1":"1","getPW1":"0","getPN2":"Abwesend","getPV2":"30","getPT2":"30","getPF2":"3500","getPM2":"1","getPR2":"0","getPB2":"1","getPA2":"1","getPW2":"0","getPN3":"Profile 3","getPV3":"300","getPT3":"60","getPF3":"3500","getPM3":"1","getPR3":"0","getPB3":"1","getPA3":"0","getPW3":"0","getPN4":"Profile 4","getPV4":"300","getPT4":"60","getPF4":"3500","getPM4":"1","getPR4":"0","getPB4":"1","getPA4":"0","getPW4":"0","getPN5":"Profile 5","getPV5":"300","getPT5":"60","getPF5":"3500","getPM5":"1","getPR5":"0","getPB5":"1","getPA5":"0","getPW5":"0","getPN6":"Profile 6","getPV6":"300","getPT6":"60","getPF6":"3500","getPM6":"1","getPR6":"0","getPB6":"1","getPA6":"0","getPW6":"0","getPN7":"Profile 7","getPV7":"300","getPT7":"60","getPF7":"3500","getPM7":"1","getPR7":"0","getPA7":"0","getPB7":"1","getPW7":"0","getPN8":"Profile 8","getPV8":"300","getPT8":"60","getPF8":"3500","getPM8":"1","getPR8":"0","getPB8":"1","getPA8":"0","getPW8":"0","getLWT":"90","getTMP":"0","getVLV":"20","getCEL":"226","getBAR":"5400 mbar","getFLO":"0","getNPS":"ERROR: ADM","getALA":"FF","getALM":"ERROR: ADM","getDMA":"1","getAVO":"0mL","getVOL":"ERROR: ADM","getLTV":"2","get71":"ERROR: ADM","getBAT":"7,50","getNET":"ERROR: ADM","getBUZ":"1","getDBD":"ERROR: ADM","getDBT":"ERROR: ADM","getDST":"ERROR: ADM","getDCM":"ERROR: ADM","getDOM":"ERROR: ADM","getDPL":"ERROR: ADM","getDTC":"ERROR: ADM","getDRP":"1","getWFC":"P-Net","getWFS":"2","getWFR":"84","getRTC":"1790634474","getIDS":"1","getTMZ":"4","getFSL":[],"getCND":"536","getCNL":"0","getCNF":"20","getSLP":"ERROR: ADM","getSLE":"0","getSLV":"0","getSLT":"0","getSLF":"0","getWAD":"1","getAPT":"3600","getWIP":"192.168.10.30","getWGW":"192.168.10.1","getSFV":"0"}

Die entsprechenden Parameter sind auch in der API Doku zu finden.

Aktuell nutze ich noch das Modul von @kris , welches Pontos Base und SafeTech Connect kann, aber leider nicht mehr weiter entwickelt wird.

Daher hatte ich gehofft, mit deinem Modul hier weiter zu kommen.

Gruß Rainer

ja, die Verwirrung verstehe ich … war gerade auch selber verwirrt.

Und nun die Auflösung: als @kaudeschusters nachgefragt hatte, hatte mich meine Erinnerung insofern getäuscht, als ich mehr meinen Entscheidungsprozess in Erinnerung hatte. Ich hatte seinerzeit (2025) aufgrund der Unsicherheit, ob die inoffiziellen Versuche im Netz wirklich zum Ziel führen, bei der Syr-Hotline nachgefragt. Und da war die Aussage von Syr eindeutig, offiziell gibt es für den Syr „ohne Plus“ keine API und wird es auch nie geben. Die verschiedenen Ansätze (im Netz) waren mir damals zu wackelig und daher habe ich mir den SafeTech+ einbauen lassen.
Anfang diesen Jahres hatte mich dann ein User auf GitHub angeschrieben (Safetec Connect hinzugefügt · Issue #1 · demel42/IPSymconSyrConnect · GitHub), der den SafeTech (ohne Plus) eingebunden hatte. Die Änderungen habe ich soweit möglich übernommen und, damit er es testen konnte, als v1.1 als Beta in den Modulstore übernommen. Die offenen Punkte konnten aber nicht abschliessend geklärt werden, eine Antwort habe ich seit Januar nicht mehr bekommen. Da ich aber selbst seit dem Frühjahr gesundheitlich ziemlich aussen vor war, habe ich das nicht weiter verfolgen können.

Also zusammengefasst: es lohnt sich sicherlich mit dem Stand der Betaversion des Moduls im Modulstore (derzeit v1.2) zu testen.
Ich kann aber mangels eigener Testmöglichkeit nicht sagen, ob es definitiv klappt und daher fällt es mir erst recht schwer bei einem möglichen Kauf (von @kaudeschusters) die Funktionsweise zu bestätigen.

ja, dass erklärt einiges…

ich hatte ein paar Jahre das fast identische Pontos Base im Einsatz. Da war nicht viel “dokumentiert”. @kris hatte dafür dann ein entsprechendes Modul erstellt und es wurde dann irgendwann auch ersichtlich, dass SafeTech hier wohl fast eine identische “Kommunikation” hatte. Das Modul konnte dann auch SafeTech.

Als diese Jahr mein Pontos Base nicht mehr mit mir “reden” wollte, habe ich mich für das SafeTech entschieden (Modul war ja vorhanden) - und es ließ sich auch sofort mit dem Modul integrieren. Leider ist das Modul nun verwaist.

Auf Grund der Anfrage von @kaudeschusters bin ich dann erst auf dein Modul gestoßen und habe es getestet. Leider fehlen mir da aber ein paar Werte, die alle mit ERROR:ADM nur im Admin Modus abrufbar sind. Dieser ist aber auch in der SYR API nicht dokumentiert. Wie der Admin Modus aktiviert wird steht ja schon weiter oben.

Im Debug von deinem Modul sehe ich auch, dass du alle Werte einzeln abfragst. Mit /get/all bekommst du (fast) alles auf einmal zurück. Das reduziert dann auch den Trafik etwas.

Vielleicht kannst du da mit dem Modul von @kris was übernehmen?

Zum Testen bin ich dann auch für dich da, wenn du noch was am Modul anpassen solltest/wolltest.

Gruß Rainer

Hallo Demel, mein Gerät kam gestern und ich habe über den Port 5333 die ersten Daten erfolgreich ausgelesen und in GitHub einen ersten Wurf meines Moduls hochgeladen.
Ich bin noch dran und werde heute Abend noch weiter versuchen die Werte, die ich per JSON bekomme in sinnvolle Variablen zu mappen.
@erpe Du kannst das mal testen und Anmerkungen geben.

GitHub - niklas-122/Symcon-SYR-Local: IP-Symcon Module to control SYR Devices using the local Port 5333 · GitHub

@erpe

was fehlt denn in der äImplementierung in meinem Modul? Bis auf die all-Abfrage, die passt strukturell nicht zu der offiziellen API

@kaudeschusters
ja das ist ja blöd gelaufen, das ich das nicht mehr im Kopf hatte.

Grundsätzlich ist es natürlich immer unschön, wenn es mehrere Module mit überdeckendem Funktionsumfang gibt.
Wenn ihr beide dann das nicht in meinem Modul nutzt sollte ich es besser bei mir wieder herausnehmen. Da der User in GitHub ja nicht mehr reagiert hatte, hat sich sein Fokus geändert …

@kaudeschusters ich finde es ja gut, dass du ein Modul dazu erstellt hast - das ist nun aber schon das dritte für dieses Gerät.

Aktuell nutze ich das von @kris , heißt zwar “Pontos Base V2” kann aber auch Syr SafeTech. Das von @demel42 kann leider noch nicht die Werte, die unter “Admin Schutz” stehen

neue Module bedeuten dann immer auch eine neue Zuordnung zu bestehende Variablen und Visualisierung.

Man muss doch nicht das Rad neu erfinden? Das Modul von kris oder auch das von demel haben doch schon die Grundlegenden Funktionen. Vielleicht macht es doch Sinn, hier an “einem” Modul zu arbeiten? Als alles neu zu erfinden - meine Meinung.

Trotzdem danke für das Modul. Testen werde ich es mal.

Gruß Rainer

ok, d.h. es fehlt eine Funktion, um Admin freizuschalten? Und das ist in dem Modul von @kris zu finden?
Es kenn den Hinweis auf die URL (http://{$ip}:5333/safe-tec/set/ADM/(2)f) mir ist aber nich klar
a) was bedeutet (2)? es ist ja sicherlich nicht diese exakte Zeichenfolge gemeint?
b) muss das einmalig oder vor jedem Aufruf erfolgen?
Das fehlte mir an Information und ohne Testmöglichkeit kann ich da ja nicht sinnvoll herausfinden …

doch, genau diese Zeichenfolge ist es. Im Modul von kris unter GitHub - lorbetzki/net.lorbetzki.pontosbase: [DEPRECATED] Symcon Modul zur Anbindung einer Hans Grohe Pontos Base · GitHub ist auch genau diese Zeichenfolge für die Aktivierung und dann noch ein “/clr/ADM” für die Deaktivierung zu sehen, jeweils vor und nach dem Lesen bzw. Schreiben.

Da @kris das Modul nicht weiter pflegt, ist mir aber nicht klar, wie das mit der Verwendung von Code aus seinem Modul aussieht. Wobei man diese Zeilen auch mit einer Suchmaschine angezeigt bekommt. Wenn @kris hier noch mitliest, kann er sicherlich was dazu sagen - hoffe ich.

den ADM Befehle gibt’s auch schon hier im Forum HansGrohe PontosBase - #84 von jumbo125

Ansonsten scheint mit das SafeTech auch ohne Plus recht nah an der SYR API zu sein, auch wenn SYR behauptet, das es keine API dafür gibt.

Ich hoffe, du kommst damit schon etwas weiter und zum Testen bin ich auch noch da…

Ich habe dein Modul installiert - ohne Probleme. Werte kommen auch und passen zu denen der anderen beiden Module. Ich muss jetzt nur schauen, dass sich die drei nicht bei den Abfragen in die Quere kommen…

Ich bin mir aber nicht sicher, ob es nicht sinnvoller wäre, hier zusammen an einem Modul zu arbeiten? Das heißt nicht, dass ich hier irgendjemanden von der Modulentwicklung abhalten will. :grinning_face:

Hmm, das wäre schon ein ziemlicher Overhead an Datenabrufen - insbesondere weil der Umbau auf „all“ aufwendig wäre und nur für den SafeTech zur Verfügung steht.

Insbesondere weil im HomeAssistant-Forum auch was von „only once“ steht und irgendwo anders steht „es läuft nach einiger Zeit ab“.

DU könntest das doch mal testen, einmal diese URL von Hand aufrufen und dann mit meinem Modul einen Abruf machen … natürlich ohne das ein anderes Gerät reingrätscht.

Das habe die so auch nicht gesagt, sondern das es keine offizielle API geben wird. Und da ich kein Gerät haben wollte, wo durch ein Firmware-Update der lokale Zugang wegfallen würde habe ich dann das Plus-Gerät genommen.

Wie gesagt, wenn der noch nicht vollständig getestete Teil nicht genutzt wird, würde ich ihn irgendwann wieder herausnehmen, damit es kein Durcheinander gibt. Da bin ich völlig offen, das liegt bei euch.

Also wir können das ganze gerne in einem Modul machen, ich hatte jetzt meines entwickelt, da es ja hieß es gibt keine Unterstützung.

Es stimmt aber, dass ein FW Update kritisch ist, da hier der lokale Zugang über den Port 5333 verschwinden könnte. Dieser Port gibt jedoch wirklich alle Daten zurück.

Ich konnte bei mir über das Modul auch schon das Haupt Ventil per Admin Öffnen und schließen. Ich werde das ganze mal weiter verfolgen und hoffe ein Ergebnis zu bekommen.
Dieses kann dann natürlich auch gerne in ein anders Repo / Modul kopiert werden. Aktuell habe ich das ganze einfach über Google Gemini gemacht, wäre also nicht schlimm wenn der Quellcode woanders landet.

Gruß Niklas

Hallo @demel42 , @kaudeschusters ,

ja, die Angst, dass mit einem FW Update der lokale Zugang wegfällt, ist berechtigt. Aber besteht das nicht bei fast allem, was wir so einsetzen in der Hausautomation? Beim baugleichen Pontos Base ist nicht nur der Port weggefallen, sondern es wurde gleich das ganze Gerät aus dem Programm genommen. :sob: Deshalb bin ich auch bei SYR gelandet.

Und ja, Module lassen sich auch mitlerweile durch Hilfe aus dem Internet (KI) schnell erstellen - wie man sieht.

Das ist hier nun aber auch “blöd gelaufen”. Wenn man nach SafeTech im Forum sucht, findet man nicht unbedingt das PontosBase Modul, was zwar nicht mehr weiter entwickelt wird, aber alle Funktionen - soweit ich das hier nutze - bereits auch für SafeTech enthält. Es läuft bei mir seit über drei Jahren - soweit ich das erkennen kann. Und seit einem Jahr mit SafeTech. Leider hat sich kris hier verabschiedet und sein Modul wird nicht mehr gepflegt.

Es muss nicht immer KI sein, es gibt hier im Forum auch genug “natürliche” Intelligenz, wovon man profitieren kann.

Das Modul von Niklas ist bei den Werte-Anzeige schon recht weit, das ist auch das, was das PontosBase Modul hat. Wenn ihr nun noch das Werte-Schreiben aus dem Modul von demel (oder auch von kris - wenn er da nichts dagegen hat) in das von Niklas integriert, hätten wir SyrConnect für alles mit Plus und SYR SafeTech Connect ohne das Plus. Das Modul von kris bleibt dann immer noch für PontosBase (er wollte Syr da auch nicht weiterführen, hatte er damals schon geschrieben.

Das sind aber auch nur meine Gedanken zu diesem Thema, die nicht jeder hier so sehen muss :thinking:

Ich weiß auch nicht, wie viele Nutzer von SafeTech es hier im Forum gibt, die aktuell auch noch das Modul von kris nutzen.

Vergleicht doch vielleicht mal den Stand eurer beiden Module und macht gerne eins für SafeTech draus. :+1:

Zum Testen stehe ich jedenfalls bereit…

Gruß Rainer

Hallo zusammen,

ich schau hin und wieder mal rein :wink: ihr könnt euch an dem Code gerne bedienen, oder auch das Modul übernehmen, warum das Rad neu erfinden? Kurze PM, dann sag ich paresy bescheid.

Zwischen Syr und Pontos gibt es nur wenig unterschiede, ein paar dinge gibt die Pontos nicht aus und der Pfad ist ein anderes. Ich hatte sogar mal ganz zu anfang Syr drin gehabt (im Modul V1) aber mangels nachfrage aus V2 entfernt.

Viele Grüße

1 „Gefällt mir“

@erpe, @kaudeschusters
zum FW-Update: für mich ist wichtig, das ich das, was essentiell für das Haus ist, gerne zuverlässig auch lokal ansteuern können möchte. Und der Hauswasseranschluss ist schon essentiell.
Bei anderen Dingen, auf die man notfalls verzichten kann, bin ich ganz dabei, auch aus dem Internet Informationen zusammen zu suchen. Ich habe bei meinen doch nicht genigen Modulen diverse, die genau so entstanden sind, habe aber auch mit bestimmten Herstellern dauerhaft die Jagd hinter Änderungen her mitgemacht, das ich das für mich nicht machen möchte.

Bei der API gibt es keinen Abruf mit „all“, da müssen alle Werte einzeln angerufen werden. Und zwischen SafeTech (ohne Plus) und der offiziellen API gibt es wohl (halt dem Git-Kontakt) Unterschiede zwischen den Warnings und Errors … das müsste ja alles von meinem Modul in das neue integriert werden, um das zusammen zu führen.
Weiterhin habe ich auch ein paar zusätzliche „synthetische“ Werte, um zu schauen, wie weit ich ggfs. von dem max. Volumen/Abnahme entfernt bin, um da ggfs. einzugreifen.
Was ich machen könnte, wäre etwas einzubauen mit dem ADM-Setzen bei dem Abruf der Daten, dafür wäre aber wichtig, ob ich das wirklich bei jedem einzelnen Abruf machen muss (siehe vorigen Post an @erpe mit Bitte um den Test) oder nur einmal pro Update-Zyklus.
Ob ich die Verwendung von „all“ für das SafeTech „ohne“ einbinden kann, ist mir ehrlicherweise noch nicht klar.
Das kann ich von meiner Seite anbieten.

@kris ,

danke für die Klärung zur Verwendung von Code und Modul. Du hast da schon eine Lücke hinterlassen :wink: :sob:

@demel42 , @kaudeschusters

ja, der Hauswasseranschluss ist auch für mich schon essentiell. Es gibt hier aber immer noch eine App, die Bedienung am Gerät und den manuellen Eingriff am Gerät. Auf die API allein - oder wie auch immer man die Kommunikation hier bezeichnen möchte - will ich mich hier auch nicht verlassen :+1: .

API gut und schön, aber wenn Syr meint da etwas ändern zu müssen, musst du auch nachziehen. Es ist auch keine Gewähr für dauerhafte Funktion.

zu deinen Frage bezüglich der Admin und ALL Abfrage:

ja, wenn “geschützte” Werte abgefragt werden sollen - eben auch bei “ALL” brauchst du vor jeder Abfrage den ADM Befehl. Soweit ich mich erinnere, hält der auch eine gewisse Zeit. Ich sehe gerade auch hier bei den drei Modulen, dass der Wert für Kumulierte Entnahme in deinem Modul nun gelegentlich ausgelesen wird. Liegt wohl daran, dass Niklas’ Modul nur den ADM setzt und nicht wieder deaktiviert. Wenn dein Modul dann kurz danach abfragt, ist ADM noch aktive und du bekommst auch die Werte. Das ist doch das, was ich testen sollte, oder? Aber, wie schon geschrieben, die Dauer ist mir nicht bekannt.

Kris setzt den in seinem Modul aber nach der Abfrage wieder zurück. Warum kann er hier vielleicht noch mitteilen. Zu der Abfrage mit ALL sehe ich da eher einen Vorteil zur Einzelabfrage der Werte. Du bekommst in einer Abfrage alle relevanten Werte (nur ein JSON-File mit allen Werten) und musst das Gerät nicht mit 30 Einzelabfragen beschäftigen - Verbindungsaufbau und -abbau inklusive. Wenn ich die Zeitstempel der Variablen bei Aktualisierung anschaue, liegen die bei Niklas’ und bei Kristians Modul mit gut 30 Werten in der selben Sekunde. In deinem Modul mit der Hälfte der Werte bekomme ich da auch schon mal eine Sekunde Unterschied (ohne jetzt die genaue Laufzeit der Module zu kennen) - rein subjektiv.

Den weiteren Weg will und kann ich euch @demel42 und @kaudeschusters nicht “vorschreiben” :grinning_face:

Wenn Niklas seinem Modul noch die fehlenden Schreibbefehle beibringt (er darf ja auch bei Kristian spicken :wink: ), wird da bestimmt ein gute Modul draus. Er hat auch den Vorteil, selbst die Hardware zum Testen zur Verfügung zu habe - das macht es für ihn einfacher.
Und du @demel42 kannst dann in deinem Modul alles mit “Plus” bearbeiten, was Syr so zu bieten hat. Ich verstehe dich schon. Ohne die passende Hardware ist das Entwickeln und Testen schon schwierig bis unmöglich.

Wie gesagt, meine aktuelle Meinung und “Sicht, nach Lage der Dinge”

Was mit dem PontosModul machbar ist, kann ich auch nicht wirklich sagen. Ohne entsprechende Hardware… :thinking: ist die Pflege da auch schwierig.

also, ich teste dann gerne - egal von wem es kommt :laughing: und wie ihr euch entscheidet.

Gruß Rainer