VBus in fhem

Begonnen von sweetie-pie, 15 Januar 2013, 12:27:34

Vorheriges Thema - Nächstes Thema

Brun

Hallo,

ich habe jetzt endlich auch einen VBUS LAN Adapter.

Und ein paar Fragen.

Wer ist denn der Maintainer für das Modul nun?
Hat von euch jemand mehrere Geräte an einen VBUS?

Gruß Brun

avg123-de

Hallo Robin,

hatte heute wieder keine Werte bekommen und konnte dann mal die Änderungen ausprobieren, die du beschrieben hattest.
Nachdem ich die Änderungen vorgenommen hatte und FHEM wieder gestartet hatte, waren die Werte sofort wieder da.

Danke!

viele Grüße
Alexander
FHEM auf virtualisiertem Debian in Hyper-V auf Dell Poweredge T110 II mit Windows Server 2012, 1x HM-LAN, verschiedene HomeMatic-Komponenten, Intertechno ITR-1500, Arduino Uno Ethernet mit RF-Modul, DeltaSol BX via VBus, Fritz!Box + Fritz!Fon, SmartVisu via Fronthem, Doorpi

hg

Hallo Robin,

auch ich habe deine Änderung heute mit Erfolg ausprobieren können.
Vielen Dank dafür.

Viele Grüße
Hans-Georg

jrichert

Hallo Oldwolf

Erst einmal Congrats für Eure tolle Entwicklungsarbeit. Ich möchte mich und mein System aber erst einmal vorstellen.
FHEM betreibe ich auf einem RasPi mit Debian Image und möchte als erstes meine Storen automatisch steuern lassen. (Sonne, Temp, Wind, Regen)
Da die Sender und Aktoren aber noch nicht da sind, versuche ich nun halt mal die Kompnenten hier im LAN anzusprechen  ;)
Meine Solarthermieanlage hat einen DeltasolMX Regler. Die Anlage wird aber bald abgebaut und durch eine 9.5 KW PV ersetzt, weil ich ständig Luft im System habe und die Anlage nicht mehr zirkuliert(Förderhöhe 11m). Dann werde ich das Wasser eben elektrisch aufheizen. Aber das nur am Rande.
Später möchte ich natürlich weiterhin die Sensordaten von der Deltasol MX visualisieren, eventuell mache ich einen Downgrade auf meinen alten Deltasol E Regler, der hier noch rumliegt.
Den VBUSLAN Adapter habe ich verbinden können, keine Fehlermeldungen, nur Daten sehe ich logischerweise noch keine, da die MX noch nicht bekannt ist. Wenn er im FHEM vebunden ist, kommen keine Daten mehr im ServiceCenter an.
Kannst Du die MX bitte auch mit einpflegen? MX.XML Datei hänge ich an.
Dann habe ich noch eine Frage, wo, bzw. wie ich an die aktuellen .pm Dateien herankomme. Kann ich die irgend einen "update thirdparty xyz" Befehl im FHEM absetzen, oder hat es einen Link, wo ich mir die Dateien holen kann?
Bei den vielen Beiträgen und Attachments, habe ich etwas den Überblick verloren...

Vielen Dank und liebe Grüsse aus der Schweiz
Jochen

oldwolf

Hallo zusammen,

@Brun:
Maintainer im Sinne von "wer hat das 'verbrochen'?": Dann meinst du wohl den Arno :D Ist natürlich nicht böse gemeint, das Modul ist klasse!
Maintainer, wenn es darum geht, neue Regler einzutragen etc.: Eigentlich jeder Anwender selbst, aber wenn du Hilfe brauchst, bist du hier genau richtig.

Was genau meinst du mit "mehrere Geräte"? Zwei verschiedene Regler? Ein Regler plus Zusatzmodule?
Theoretisch sollte beides funktionieren. Wie zuverlässig und regelmäßig die Werte in diesem Fall abgerufen werden, kann ich dir nicht sagen. Ich habe nur einen Regler (mit integriertem Wärmemengenzähler).

@Hans-Georg, Alexander
Das freut mich. Dann steht einem sorgenfreien Betrieb des VBUS-Modul ja jetzt nichts mehr im Weg.

@Jochen:
Du kannst einem ja Mut machen. In meiner Anlage ist bisher auch immer Luft. Aber ich denke, dass ich den Übeltäter gestern endlich gefunden habe. War wahrscheinlich eine defekte Dichtung.
Zurück zum Thema: Wenn du mit FHEM Daten abrufst, kann das Service-Center nicht gleichzeitig auf den Adapter zugreifen. Das ist also normal.
Die 21_VBUSDEV.pm mit der entsprechenden Ergänzung des MX Reglers findest du im Anhang.
Du meinst wahrscheinlich wie du an die aktuellen *.pm Dateien vom VBUS-Modul kommst? Die findest du hier in diesem Thema: 1x die angehängte VBUSDEV.pm und 1x die VBUSLAN.pm von Arno (müsste eigentlich irgendwo auf den ersten Seiten dieses Themas stehen). Aber anscheinend hast du ja schon eine VBUSLAN.pm, da ja sonst nichts funktionieren würde. Daher einfach die angehängte VBUSDEV.pm in den Ordner kopieren und du hast den aktuellsten Stand (Version 1.0, es gibt meines Wissens kein Update dafür).

@all:
Anbei die aktualisierte VBUSDEV, jetzt mit:

    7751 - DiemasolC
    7321 - Vitosolic200
    7721 - DeltaSol E (Regler)
    7722 - DeltaSol E (Wmz)
    4212 - DeltaSolC
    7331 - SLR
    427B - DeltaSol_BS_2009
    7821 - CosmoMulti (Regler)
    7822 - CosmoMulti (WMZ)
    7421 - DeltaSol BX
    7E11 - DeltaSol MX Regler
    7E12 - DeltaSol MX Module
    7E21 - DeltaSol MX Heizkreis
    7E31 - DeltaSol MX WMZ

Viele Grüße
Robin

jrichert

Hallo Robin

Vielen Dank für den prompten Service. Werde es nachher gleich  mal testen.
Also Mut kann ich Dir da schon machen, sofern Deine Anlage nicht so hoch wie meine montiert ist. Ich denke, bei mir spielt da auch noch die Fürderhöhe von knapp 11 Metern mit. Die ganze Story war: Anlage mit Deltasol E, ständig im Sommer überhitzt. Dann die MX gekauft, weil die kann Überwärmeabfuhr, leider hatten die einen Bug in der ersten FW, wo zwar das Ventil zu meiner Garagenheizung aufgemacht hat, aber die Umwälzpumpe wurde nicht aktiviert. Resol hat da sehr schnell gehandelt und mir eine Beta Firmware geschickt (1.10) welche nur ich hatte ;-) bis die offizielle gefixte FW raus kam. Dann habe ich oben noch einen autom. Entlüfter eingebaut, wenn der mal über 150° kriegt, ist er hin. Also nur Theater. Letzte Woche hat der Sanitäler 25 Liter Brühe nachgefüllt, ohne Worte und jetzt habe ich Schnauze endgültig voll.
Jetzt wollte ich noch eine PV ringsrum bauen und habe mich auf Empfehlung des PV Technikers hin entschieden, die Solarthermie runter zu machen und das Wasser mit Strom zu heizen. Mit der ganzen Dachfläche komme ich auf knapp 9 KW. Der Wirkungsgrad ist zwar nicht so toll wie bei der Thermie, dafür kann ich im Winter aber die PV abtauen (Solutronic Solplus 100 mit IceBox) und muss nicht mehr auf dem Dach rumkraxeln.
Die Solplus möchte ich dann natürlich auch noch im FHEM einbinden :)
Also nochmals vielen Dank für den schnellen Einsatz und ein schönes Wochenende

Jochen

Jochen

mahlzeit24/7

Hallo, also zum Einen: Arno hat tolle Arbeit mit dem VBUSLAN Modul geleistet, Dank Robin ist die 20_VBUS.pm prima.

Ich kann mich erinnern dass ich in der letzten Heizperiode wirklich oft Tempausreisser gehabt hatte, die sind bislang erst einmal vorgekommen. Habs aber nciht weiter verfolgt und den Wert einfach aus dem Logfile gelöscht.

Bei mir sind 16qm auf dem Dach und auch etwa 10m Förderhöhe. Diesen Sommer (5 Jahre seit Aufbau) auch Luft im System, und die Brühe ist irgendwo weggebrodelt  - meine Vermutung: auf dem Dach, da sonst alles ok war.

Ich hab am Pufferspeicher noch meinen Ofen hängen und die komplette Steuerung der LAdepumpe der Deltasol ES mitaufgebrummt, funktioniert tadellos. Da wir sonst keine weitere Heizquelle haben, sehe ich die Zusatzinvestition in PV nicht in absehbarer Zeit amortisierbar.

Ich hab eh nur den Pumpenstrom und das sind alles Effizienzpumpen. Eine Demontage würde X-Euro kosten, die PV auch nicht grad umsonst und von den Fördergeldern mal zu schweigen, die gehen eh zu Lasten der Allgemeinheit. Einer muss immer bluten.

PV hat schon seinen Reiz - aber für mich verloren, weil man nie weiss, welche Sau diese profilierungssüchtigen Darsteller als nächstes durchs Dorf treiben. Sonne für die Rente ist genauso ein Trug wie Rauchen für den Frieden und soweiter.

Ich fühle mich durch Solarthermie unabhängig ausser von RWE und konsorten. Hätte ich PV müßte ich fürchten, dass mein Selbstproduzierter Strom nciht abgenommen wird irgendwann und das FA kümmert das herzlich wenig.

Der ganze Administrative Aufwand hinter PV ist in meinen Augen nicht gerechtfertigt.

Das mal ab vom Thema, gehört ja eigentlich nciht hierhin.

Herzliche Grüße

Frank




jaydax

Hallo, ich lese per VBUS/LAN nun meinen Sonnenkraft SKS3HE aus. Es sind noch 2 Geräte für 2 Heizkreisläufe am VBUS, aber ich komme nicht an die Daten. Es handelt sich um die MSR65 1 (6521) & 2 (6522) (siehe Screenshot). Ich habe in der 21_VBUSDEV schon ein Gerät angelegt wie für 7160, 7161 & 7162 aber es kommen keine Daten. Kann ich die überhaupt so auslesen? Es wird ja als "MSR65 1 (0x6521) => SKS3HE (0x7160)" angezeigt. Gibt das Gerät MSR65 evtl. nur Daten an den SKS3HE? Dachte ich kann mit FHEM alles auslesen, was ich mit dem RESOl ServiceCenter angezeigt bekomme.

mahlzeit24/7

HI Jaydax,

ich kann mich irren, aber in der RSC sieht es aus, als wenn die Daten über den Sonnenkraft gezogen würden. Du könntest mal im RSC in den Rohdaten nachsehen, nach Quelle und Ziel, evtl kann man dann mehr sagen.

Ich verstehe das jetzt so:

mit dem VBUSLAN.pm hast du eine quelle definiert.

Die MSR hängen auch am VBUS, sonst könntest du die daten ja nicht in der RSC sehen.

Insofern brauchst Du kein weiteres VBUSLANdevice, schonmal ok so.

Die 21_VBUSDEV.pm ist die richtige Wahl, allerdings sind die offsets wahrscheinlich nicht die gleichen, weshalb ich dir mal die VBUS Protokollspeq angehängt habe, falls du sie nicht hast.

Dein Device ist da ja gelistet, also kommen auch daten über VBUSLAN. Ich würde versuchen, die Offsets anzupassen und dann zu lauschen.

Viel Erfolg

Frank

Brun

@oldwolf

Ich beobachte das Modul schon seit seiner Entstehung. Allerdings habe ich mir jetzt erst eine VBUS LAN Adapter geholt.
Arno hat da ja was Geniales gemacht.
Irgendwann wurde dann ja das ganze mal weiter entwickelt. Allerdings hatte ich nicht mehr gefunden von wen. Deswegen die Frage nach den Maintainer.

Bist du das jetzt?

Ich habe da nämlich noch ein paar Änderungen.


@mahlzeit24/7

Zu dem Thema PV. Ich habe selber eine PV Anlage.
Es ist so das der lokale Versorger dazu Verpflichtet ist den Strom zu nehmen. Und selbst wenn die sich dann mal quer stellen sollten und nicht zahlen hat man kein Problem mit den Finanzamt. Wenn man kein Geld bekommt muss man auch nichts Versteuern.

Selbst bei schlechten Wetter produziert sie Strom der ein Großteil von unseren Bedarf tagsüber deckt.

@jaydax
Im RSC sieht man schön die Kommunikation.
Da sieht man das die 6521 die Daten an die 7160 sendet. Aber da sind ja alle notwendigen Daten enthalten und man müsste die mitlesen können.
Ich glaube aber in der 21_VBUDEF ist noch ein Bug.
ändere mal folgende Zeile:
my $hash = $modules{VBUSDEV}{defptr}{"$mod"};
nach
my $hash = $modules{VBUSDEV}{defptr}{"$src_addr"};




Es gibt auch eine schöne Internetseite über das Protokoll
http://danielwippermann.github.io/resol-vbus/vbus-packets.html


Gruß Brun

jaydax

Erstmal Danke für die schnellen Antworten!

@Brun:
Danke, die Änderung hat schon mal dazu geführt, dass in der Logdatei nun die 3 Geräte 7160, 7161 & 7162 auch jeweils mit der richtigen ID geloggt werden. Bisher war es immer eine der 3 IDs für alle 3 Geräte. Wahrscheinlich die, von dem beim FHEM Start die ersten Daten kamen. Aber vom 6521 kommt noch nichts an.
Ich muss das Device doch in der 21_VBUSDEV anlegen oder? Hab sie mal angehängt.

@mahlzeit24/7:
Ich bekomme vom Gerät 7160, 7161 & 7162 die Daten, die auch über das RSC angezeigt sind. Habe die Geräte in der 21_VBUSDEV anhand der .xml Daten vom RSC angelegt. Aber für das 6521 & 6522 gibt es im RSC keine .xml Dateien.
Wenn ich es als gerät anlege, wird es nicht automatisch in die fhem.cfg aufgenommen, das klappte bei den anderen drei 71xx sofort. Ein weiterer Screenshot zeigt, welche Daten vom 7160 kommen. Die Temperaturen 1-6 vom MSR 6521 sind nicht dabei.
In den Rohdaten ist schwer was zu erkennen, weil die durchlaufen. Aber soweit ich es sehen kann lautet es immer:
bei 7160: Quelle 0x7160 --- Ziel Broadcast 0x0000
und bei dem MSR: Quelle 0x6521 --- Ziel SKS3HE 0x7160

Erfasst FHEM evtl. nur die Broadcast Daten? Und nicht die Daten zwischen den Geräten? So sieht das für mich aus.

Die Daten laufen über den VBUS, aber ich verstehe nicht wie ich sie abfangen kann. Es steht ja so "MSR65 1 (0x6521) => SKS3HE (0x7160)" im RSC, als ob sie nur an den 7160 gesendet werden.

Hab nun auch die Logs angehängt. Wenn ich das 6521 manuell konfiguriere erscheint es beim Starten in der fhem-...log, aber in der VBUSDEV.log kommt nichts an.

mahlzeit24/7

Hmm, laut speq schickt der 6521 an den broadcast(0x0000) und von da aus wirds dann quasi der slave des broadcast. Das scheint dann intern zu laufen ?!?
Der Vorschlag von Brun könnte hilfreich sein, nicht die zieladresse zu belauschen sonder die quelle, wenn ich mich richtig erinnere, bist du da der (für dich leider)vorreiter. Wir kommen solangsam an bastel mal mit rosenthal, macht aber nix, geduld vorrausgesetzt.

oder aber, du legst ein broadcastdevice an - wovon ich nciht weiss ob das geht und versuchst darüber die Pakete für 6521 abzufangen?

Viele Grüße


Brun

Zitat von: jaydax am 12 Oktober 2014, 12:12:27

Erfasst FHEM evtl. nur die Broadcast Daten? Und nicht die Daten zwischen den Geräten? So sieht das für mich aus.

Die Daten laufen über den VBUS, aber ich verstehe nicht wie ich sie abfangen kann. Es steht ja so "MSR65 1 (0x6521) => SKS3HE (0x7160)" im RSC, als ob sie nur an den 7160 gesendet werden.

Hab nun auch die Logs angehängt. Wenn ich das 6521 manuell konfiguriere erscheint es beim Starten in der fhem-...log, aber in der VBUSDEV.log kommt nichts an.


normalerweise erfasst das Modul alle Daten. Egal was sie Zieladresse ist.
In deinen Fall allerdings nicht.
Das liegt an folger Zeile

        #jw
return "" if ($dst_addr != "0010");


Das sorgt dafür das nur die Broadcasts verarbeitet werden.

Probier es mal so:

        return "" if ($dst_addr == "0015");


Was beinhalten denn die Anfragen an die MSR65 vom SKS3HE?

jaydax

@brun: Die Änderung bringt den Fehler:

substr outside of string at ./FHEM/21_VBUSDEV.pm line 220.
substr outside of string at ./FHEM/21_VBUSDEV.pm line 220.
Use of uninitialized value in concatenation (.) or string at ./FHEM/21_VBUSDEV.pm line 220.
Use of uninitialized value in concatenation (.) or string at ./FHEM/21_VBUSDEV.pm line 220.

Es kommen zwar Werte im Log an, aber es bringt die Werte durcheinander. Die Werte sind auf das Gerät 7160 bezogen, aber halt nicht korrekt.

Was beinhalten denn die Anfragen an die MSR65 vom SKS3HE? <-- keine Ahnung, so weit ich das sehe gibt das MSR Temperaturen an das SKS3HE.

@mahlzeit24/7: kannst du mir einen Tipp geben, wie ich das mit dem Broadcast Device machen kann? Und solange ihr Ideen habt, probiere ich es gerne aus, aber es ist jetzt auch nicht lebensnotwendig. Aber darüber könnte ich die Außentemp. bekommen und die vom Gasbrenner bekommen.

Brun

Ups...

so sollte es eher gehen

return "" if ($dst_addr == 0015);

my $perl ne "good"

Gruß Brun