-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resol Adapter #32
Comments
Huhu Dirk!
Nein, der VBus/LAN-Adapter ist ein reiner Signalwandler ohne eigene Protokolllogik. Um Daten aus dem VBus/LAN-Adapter zu bekommen, müsstest Du Dich jedes mal damit verbinden, für gewisse Zeit die eintreffenden Daten aufzeichnen und dekodieren und dann selber JSON erzeugen. Das KM2 wiederum hat ein solches API, das wird auch vom Web-Interface benutzt, um das aktuell angeschlossene Gerät anzuzeigen. Und Du kannst du VBus.net-Portal-Funktionalität deaktivieren, wenn Du es nur im LAN einsetzen möchtest. Wenn Du es aber mit VBus.net verbunden lässt, gibt es auch dafür eine API-Dokumentation, mit der man die dort abgelegten Daten wieder auslesen kann. Die Doku gibt es auf Anfrage bei RESOL. Wenn Du noch weitere Fragen hast, immer her damit :) Bis dann, |
Top Danke für die Antwort. Dann bestelle ich mal den KM2. Wo genau bekomme ich dir API Dokumentation für den KM2 bzw. die fürs VBus Portal her? Primär würde mich interessieren, wie und welche Daten der KM2 im LAN und ohne VBus Portal zur Verfügung stellt. |
Das KM2 stellt eine maschinenlesbare Version der aktuell empfangenen Daten unter einem Webservice zur Verfügung. Weiter unten findest Du einen gekürzten Mitschnitt aus meinem KM2. Die Die Ich hoffe, das hilft Dir beim Umgang mit dem KM2 schon mal weiter. Die Doku zum VBus.net-API kannst Du über einen der unter https://www.vbus.net/#/help-support beschriebenen Kanälen anfordern. Bis dann, Anfrage
Antwort[{
"jsonrpc": "2.0",
"id": "1",
"result": {
"headers": [
{
"id": "00_0010_1221_10_0100",
"description": "Regudis H-HT [Transm. station #1]",
"channel": 0,
"destination_address": 16,
"source_address": 4641,
"protocol_version": 16,
"command": 256,
"info": 0,
"destination_name": "DFA",
"source_name": "Regudis H-HT [Transm. station #1]",
"fields": [
{
"id": "000_1_0",
"name": "Übergabestation Status",
"unit": "",
"unit_code": "None"
},
{
"id": "001_1_0",
"name": "Primärkreis Stellantrieb",
"unit": "%",
"unit_code": "Percent"
},
{
"id": "002_2_0",
"name": "Primärkreis Vorlauftemperatur",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "004_2_0",
"name": "Primärkreis Rücklauftemperatur",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "006_2_0",
"name": "Primärkreis Rücklaufmaximaltemperatur",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "008_2_0",
"name": "Sekundärkreis Vorlauftemperatur",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "010_2_0",
"name": "Sekundärkreis Vorlaufsolltemperatur",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "012_2_0",
"name": "Sekundärkreis Rücklauftemperatur",
"unit": " °C",
"unit_code": "DegreesCelsius"
}
]
},
{
"id": "00_0010_1230_10_0100",
"description": "Regudis H-HT [DHW heating #0]",
"channel": 0,
"destination_address": 16,
"source_address": 4656,
"protocol_version": 16,
"command": 256,
"info": 0,
"destination_name": "DFA",
"source_name": "Regudis H-HT [DHW heating #0]",
"fields": [
{
"id": "000_1_0",
"name": "Status",
"unit": "",
"unit_code": "None"
},
{
"id": "002_2_0",
"name": "NH1",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "004_2_0",
"name": "NH2",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "008_2_0",
"name": "TEin",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "010_2_0",
"name": "TAus",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
{
"id": "001_1_0",
"name": "Ladepumpe",
"unit": "%",
"unit_code": "Percent"
},
{
"id": "006_1_0",
"name": "Ventil",
"unit": "%",
"unit_code": "Percent"
},
{
"id": "007_1_0",
"name": "Anforderung",
"unit": "%",
"unit_code": "Percent"
}
]
},
{
"id": "00_0010_5400_10_0100",
"description": "DeltaTherm HC [Controller]",
"channel": 0,
"destination_address": 16,
"source_address": 21504,
"protocol_version": 16,
"command": 256,
"info": 0,
"destination_name": "DFA",
"source_name": "DeltaTherm HC [Controller]",
"fields": [
{
"id": "000_2_0",
"name": "Temperature sensor 1",
"unit": " °C",
"unit_code": "DegreesCelsius"
},
...
]
},
...
],
"headerset_stats": {
"headerset_count": 1,
"min_timestamp": 1579238367,
"max_timestamp": 1579238367
},
"headersets": [
{
"timestamp": 1579238367,
"packets": [
{
"header_index": 0,
"timestamp": 1579238361,
"field_values": [
{
"field_index": 0,
"raw_value": 2,
"value": "2"
},
{
"field_index": 1,
"raw_value": 0,
"value": "0"
},
{
"field_index": 2,
"raw_value": -28.8,
"value": "-28.8"
},
{
"field_index": 3,
"raw_value": -28.8,
"value": "-28.8"
},
{
"field_index": 4,
"raw_value": 50,
"value": "50.0"
},
{
"field_index": 5,
"raw_value": 20,
"value": "20.0"
},
{
"field_index": 6,
"raw_value": 0,
"value": "0.0"
},
{
"field_index": 7,
"raw_value": -28.8,
"value": "-28.8"
}
]
},
{
"header_index": 1,
"timestamp": 1579238361,
"field_values": [
{
"field_index": 0,
"raw_value": 10,
"value": "10"
},
{
"field_index": 1,
"raw_value": 20,
"value": "20.0"
},
{
"field_index": 2,
"raw_value": 999.9,
"value": "999.9"
},
{
"field_index": 3,
"raw_value": 40,
"value": "40.0"
},
{
"field_index": 4,
"raw_value": 45,
"value": "45.0"
},
{
"field_index": 5,
"raw_value": 0,
"value": "0"
},
{
"field_index": 6,
"raw_value": 0,
"value": "0"
},
{
"field_index": 7,
"raw_value": 0,
"value": "0"
}
]
},
{
"header_index": 2,
"timestamp": 1579238362,
"field_values": [
{
"field_index": 0,
"raw_value": 19.900000000000002,
"value": "19.9"
},
...
]
},
...
]
}
]
}
}] |
danke soweit. ich hatte folgendes an den resol support geschieben:
die antwort hat mich dann etwas verwundert:
kannst du mir evtl. die noch offenen fragen beantworten bzw. mir die api doku schicken? danke dir! |
Sorry für die späte Antwort. Ich habe versucht, an eine VBus.net-API-Doku zu kommen, ist mir aber bisher noch nicht gelungen. |
hey daniel, ich habe mir gerade den KM2 bestellt und würde mal beginnen ihn in vbus.net zu integrieren und zu schauen welche daten da so ankommen. danach überlege ich mir dann, was ich dann rausnehme bzw. in HomeAssistant anzeigen will und dann können wir ja noch mal sprechen ob vbus.net eine API hat oder ob ich den von dir oben beschrieben weg gehen muss. grüße dirk |
die method heißt nur login ich habe zwar bisher keine doku für vbus.net bekommen, ist aber auch nicht nötig, da das abgreifen des km2 über deinen weg von oben super funktioniert. ich habe jetzt die daten in HomeAssistant und bin erstmal happy! DANKE! |
Super, freut mich! Dann mach ich das Issue hier erst einmal zu, wenn Du noch Infos brauchst, öffne bitte einfach ein neues! Happy coding! |
Hallo,
Die JSON Daten bekomme ich mit "/dlx/download/live" (und zwar ohne Anfrage Header+Payload). Jedoch hat dm82m schon ein HomeAssistant plugin geschrieben, welches ich auch nutzen möchte. Danke! |
genau, aber mein plugin macht nichts anderes als den km2 auf der http schnittstelle über den endpunkt resol-webservice anzusprechen, sich einzuloggen und die daten abzugreifen und diese daten dann in home assistant zur verfügung zu stellen. ob und wie ein möglicher weg für den DL2 aussieht kann ich nicht sagen, da ich das gerät nicht habe. evtl. kann @danielwippermann da helfen. hier ist mein plugin: |
@chiefdeputy hat das inzwischen gelöst und in mein Plugin integriert. Wir können jetzt also in Home Assistant den KM2 und den DL2/DL3 einbinden! 🥳 |
Eine Kostenfrage, da mit der vbus controller ehrlich gesagt mit über 200€ zu teuer ist. Bin selbst Entwickler. Reicht der USB Controller nicht aus ? Kostet 80€. Raspberry dran und ein Wrapper für Homeassist programmiert, bzw. Daniel seine Tools zur Datenaufbereitung nutzen... 🤷♂️ |
Jop, möglich. Hab einen Python Wrapper für die Tools angefangen (mangels Java Kenntnissen). Komme aus Zeitgründen nicht mehr wirklich weiter: |
Hallo Leute, ich steige gerade von FHEM zu Home Assistant um. In FHEM konnte ich den Resol VBUS/LAN Adapter direkt einbinden. Wenn ich euch jetzt hier richtig verstehe, müsste ich mir nun einen KM2 oder DL2/DL3 besorgen, damit es auch in Home Assistant funktioniert. DL2 bzw. DL3 sind mir für meinen Anwendungsfall etwas zu übertrieben (teuer). Bevor ich jetzt bestelle... Kann bitte nochmal jemand folgendes bestätigen:
Ich bin leider kein Entwickler. Heißt, ich habe keine Ahnung, wie ich den VBUS/LAN Adapter zum Laufen bekomme, wenn es dafür noch kein Plugin gibt. Dem entsprechend würde ich in den Apfel beißen und den KM2 kaufen. Danke euch und Gruß Hoppel |
Ja das ist der aktuelle Stand. @chiefdeputy hat zwar mal einen Prototyp gebaut aber der ist nicht fertig und wird aktuell auch nicht weiter entwickelt. Mit dem KM2 und meinem Plugin kommst du an Deine Daten in Home Assistant. |
Hi @hoppel118, ich habe den VBUS USB in Home Assistant am laufen. Da @danielwippermann eine nodejs API für die Live-Daten zur Verfügung stellt kannst du Dich selbstverständlich mit Home Assistant an die Daten anknüpfen. Da ich die USB Variante habe habe ich einen Raspberry dazwischen geschaltet. Link: https://www.amazon.de/Resol-Schnittstellenadapter-Adapter-Solarstation-Software/dp/B083SLYF72 |
@ChR-iSz kannst du deinen Aufbau noch etwas detaillierter beschreiben? |
Das ist auch echt heftig. Im Mai 2020 hab icu 130€ für den KM2 bezahlt. Jetzt kostet der fast das doppelte… |
Hi @dm82m, Gerne. Raspberry PI:
Home Assistant fragt bei mir die API in Punkt 3 ab, und visualisiert die Daten. Siehe Screenshots... |
Dann läuft Home Assistant und der nodejs Server bei dir auf unterschiedlicher Hardware? Und mit welchem Plugin hast du die visu gemacht? und wie hast du die datenabfrage von HA zur API gemacht? |
WOW!!! Habt ihr alle darauf gewartet, dass hier jemand eine Frage stellt. :D Nein, im Ernst, super, dass das so schnell geht. ;)
Danke für die Info. Dann habe ich schonmal die Bestätigung, dass ich mit dem KM2 auf der sicheren Seite bin.
Einen Raspberry wollte ich jetzt ungern noch dazwischen hängen. Meinst du, dass die nodejs API auch mit dem VBUS/LAN Adapter funktioniert? Den hätte ich ja bereits hier und könnte das ausprobieren. Bin allerdings mit Home Assistant selbst noch nicht Mal ganz in Form.
Ja, Wahnsinn. Die Teile sind alle ziemlich teuer geworden. |
Doch das geht genauso mit dem Vbus/LAN Adapter. Allerdings musst du halt alles manuell bauen analog @ChR-iSz @chiefdeputy hatte ja angefangen mit einer Integration in Home Assistant. Dann wäre keine zusätzliche Hardware nötig. |
Da ich einen Raspberry PI 4 nutze können Home Assistant und NodeJS auch auf der selben Hardware laufen. Dann werden die Daten halt von localhost geholt. @hoppel118 Auf dem HomeAssistant brauchst du keine zusätzlichen Plugins. Ich kann Dir meine config nachher mal raussuchen, wie ich die Home Assistant Anbindung gemacht habe... |
OK, danke euch. Dann probiere ich das mit dem vorhandenen VBUS/LAN Adapter erstmal aus, bevor ich in neue Hardware investiere.
Ich habe einen Openmediavault Server auf dem Docker und KVM laufen. Über KVM habe ich Home Assistant OS in einer virtuellen Maschine eingerichtet.
Macht es deiner Ansicht nach Sinn diesen NodeJS Server direkt in HAOS aufzusetzen? Sorry, habe gerade noch keine Vorstellung, was nun genau zu tun ist... ;) Kannst du mir nochmal einen Link zu @danielwippermann 's nodejs Scripte schicken?
Darüber würde ich mich sehr freuen. Danke |
@ChR-iSz Meinst du das hier? https://github.com/danielwippermann/resol-vbus
Mit dem Feature sollte mein VBUS-LAN-Adapter dann automatisch erkannt werden. Hm..., wobei..., der Adapter befindet sich in einem separaten VLAN. Aber übergangsweise könnte ich das ändern und wenn alles läuft wieder zurückschieben. |
OK, damit kann ich etwas anfangen. Schick mir BITTE noch deine Home Assistant config. ;) Verstehe ich es richtig, dass ich die Beispieldatei dann in die config.js übernehmen kann und lediglich die beiden folgenden Parameter zu meinem VBUS-Adapter anpassen muss? host: '192.168.13.21', Muss mal sehen, wann ich die Zeit dazu finde. Jetzt bin ich auf jeden Fall schonmal angefixt. Danke euch erstmal. Gruß Hoppel |
Am das Ganze in HassOS zum Laufen zu bringe, müsste man es als AddOn einbinden. (AddOns in HassOS sind nichts anderes als Docker Container, welche mit dem Hass Core kommunzieren.) Damit habe ich auch angefangen, schaffe es gerade aber zeitlich nicht weiter zu machen. (Letztes Jahr nochmal Nachwuchs bekommen). Wird also noch etwas auf Eis liegen. Um es als Custom Component direkt hin zu bekommen, bräuchte man eine native Python API für den VBus. Das gibt's leider (noch) nicht. |
Ich glaube, das ist noch eine Falschanzeige. Da wird irgendwo |
@danielwippermann also ich wollte das gerade bauen; sprich meine integration so erweitern, dass ich auch das einfache format parsen kann. das problem ist jetzt: da gibt es keine einheiten. in der antwort des KM2/DL2/DL3 steht immer noch eine unit dabei. die übernehme ich entsprechend auch nach home assistant. |
@hoppel118 falls du kein bock auf manuelle konfiguration hast probier mal meine integration: über hacs die 0.3.0b installieren: https://github.com/dm82m/hass-Deltasol-KM2 und dann folgendes in deine configuration.yaml und neustarten:
|
Würde eher zu einem erweitern der json plädieren, a la...
|
ja würde schon noch ein paar mehr vorteile geben mit den vollen daten. da haben wir header und field ids. wir können also mehrere teilnehmer am bus auslesen usw. wie das hier in der "leichtgewichtigen" variante ist, weiß ich nicht... |
OK, super. War gerade dabei, alles hin und her zu kopieren. Wird dann die config.js aus /config/addons verwendet, oder woher kennt deine Integration die IP und das Passwort des vbus/lan Adapters? |
Warte mal... Verstehe ich es richtig, dass ich beides (die HACS-Integration und das Addon) brauche? |
ja absolut korrekt: das addon brauchst du, damit dein vbus/lan ausgelesen wird. die integration übernimmt dann das überführen der daten aus dem addon nach home assistant. d.h. du brauchst dann in home assistant nicht mehr diese händische konfiguration und das mapping schreiben. all das macht dann die integration für dich. |
OK, das macht Sinn. Allerdings kommt nichts an. Das Addon habe ich nun auch nochmal von 0.0.2 zu 0.0.3 geupdated. Anschließend nochmal Home Assistant neu gestartet. Es bleibt dabei. Es werden keine Geräte bzw. Entitäten angelegt. Hier das Log aus dem Addon:
und hier das Supervisor Log:
Ideen? |
Ja, han die Infos komme ich. Ich würde vorschlagen, einen zusätzlichen Endpoint "/api/v2/live-data" zu machen, der die Daten vom V1-Endpoint um die Unit erweitert. So geht auch nix bestehendes kaputt. |
alle logs vom home assistant core mit deltasol bitte. am besten hier rein: dm82m/hass-Deltasol-KM2#22 , dann lagern wir die diskussion zu meinen addons/integration dorthin aus und sprechen hier drin nur um die änderungen die uns @danielwippermann zur verfügung stellt.
ja kannst machen, eilt für mich aber nicht. danke. |
@ChR-iSz Mir hats jetzt noch in den Fingern gejuckt. Ich habe nun folgende Rest Konfiguration in meiner configuration.yaml angelegt:
Die ganzen Entitäten wurden angelegt und die Werte aktualisieren sich. Perfekt, dann habe ich das jetzt auch mal gemacht. Kann man die Entitäten jetzt eigentlich auch irgendwie in einem Gerät zusammenfügen? Oder macht das keinen Sinn? (Bin neu bei Home Assistant. ;) ) Wie hast du diese Visualisierung hinbekommen? Folgenden interessanten/informativen Link zum Thema Rest habe ich noch gefunden: https://www.home-assistant.io/integrations/sensor.rest/ Wahnsinn! Als ich gestern mit diesem Thema begonnen habe, konnte ich mir noch nicht vorstellen, dass ich heute schon eine funktionierende Lösung habe, nachdem es bisher noch keine Integration bzw. kein Addon für den vbus/lan Adapter gab. Jetzt habe ich eine Rest Lösung und wir arbeiten bereits an einer HACS/Addon Integration. So macht das Spaß. ;) Vielen Dank nochmal, Gruß Hoppel |
Noch eine Frage @danielwippermann: wenn der vbustouch-proxy das DL Interface hat - können wir nicht einfach auch den nehmen? |
Ich werde die Tage mal Dein Addon testen mit dem VBus/USB device. Hast du die USB configuration lösen können? Du kannst auch --privileged in docker verwenden. Dann sollten alle devices vom Host durchgereicht werden. |
@ChR-iSz ja gerne testen. Ich reiche aktuell alle mit „uart:“ „udev:“ und „usb:“ all diese Geräte ins addon. Beim Start des Addons gebe ich alle /dev/tty* Geräte aus. Ich hoffe das hilft dir das richtige Gerät dann für deine config zu finden. |
Ja, prinzipiell schon. Mein Bauchgefühl würde das aber ungern empfehlen. Da der "vbustouch-proxy" primär für Langzeitdatenspeicherung und Cloud-Dienst-Anbindung (wie MQTT) ausgerichtet ist, hat das Beispiel einen anderen Fokus (und "Live-Daten im DLx-Format" fallen eher zufällig mit ab :) ). Ich habe heute morgen mal den "json-live-data-server" wie diskutiert erweitert, ich denke, dass ich das Ergebnis in den nächsten Minuten pushen werde. Dann melde ich mich nochmal... |
Schicke Dir später noch die Glance config für die UI Visualisierung. |
Heißt die Unit mit eingebaut oder heißt das km2 Interface drauf geschoben? |
Beides. Der neue HTTP-Endpoint
Und die beiden Endpoints
|
Oh, moment, das KM2 benutzt ja ein anderes API... Moment... |
nene warte, passt schon: ich binde ja aktuell das KM2 und DL2/DL3 ein. der abruf beim DL2/DL3 war bisher halt wie meldet sich denn |
Ja, genau, weil aktuell eh nur ein VBus-Kanal unterstützt wird, dann ist DL2 einfacher :) Ich habe die KM2-Funktionen jetzt aber auch schon vorbereitet. Habe jetzt nen Termin, danach mach ich noch die Tests fertig und push das auch noch. Und den Bis später... |
|
Ja. |
also @danielwippermann das funktioniert jetzt auf jeden fall schonmal so. tausend dank dir! und wenn du den |
So... In a9204be sind noch folgende Endpoints dazugekommen:
Wenn Euch noch was fehlt oder was nicht geht, meldet Euch bitte! Ansonsten danke Euch allen für diesen konstruktiven "Sprint", hat Spaß gemacht! |
mega! damit haben wir jetzt alles und es läuft! danke dir @danielwippermann für diese schnellen und erfolgreichen änderungen!
@ChR-iSz wenn du das mit usb noch testen willst wäre perfekt, schreib dann einfach hier dazu: dm82m/hassio-addons#8 @hoppel118 add-on test inkl. integration test besprechen wir ja bereits hier: dm82m/hass-Deltasol-KM2#22 |
mach dafür bitte hier ein neues issue auf: https://github.com/dm82m/hassio-addons/issues/new |
Dein USB Stick wird nicht erkannt. Gib mal lsusb ein und poste uns die Ausgabe |
Hey Daniel,
ich bin aktuell nicht sicher welchen Resol Adapter ich mir sinnvollerweise kaufen sollte. Ich schwanke zwischen dem VBus LAN und KM2.
Mein Szenario sieht so aus, dass ich Home Assistant einsetze und dort gerne meinen Regler auslesen würde im in Erfahrung zu bringen, wie viel Energie meine Anlage z.B. heute abgegriffen hat. Ich möchte diese Information nutzen um die Warmwasser Aufbereitung meiner Heizanlage ein- bzw. ausschalten zu können.
Ich vermute aktuell, dass ich den LAN Adapter irgendwie per curl/wget ansprechen kann und dann ein JSON zurückbekomme in dem ich verschiedene Werte (ggf. einen den ich auch brauchen kann) zurück bekomme. Was ich aber nicht finden konnte war eine Schnittstellenbeschreibung. Grundsätzlich glaube ich, dass dieser LAN Adapter auch das ist was ich brauche.
Den KM2 interpretiere ich eher als Gerät, dass mir die Daten dann ins VBus Portal schickt und mir dort eben eine Auswertung u.s.w. ermöglicht. Auch da bin ich nicht sicher ob und wie ich die dann von mir benötigten Daten sinnvoll und automatisiert wieder auslesen könnte.
Ich hoffe Du kannst mir da etwas unter die Arme greifen.
Danke und Gruß
Dirk
The text was updated successfully, but these errors were encountered: