Integration von Nibe Wärmepumpen per RS485

Begonnen von matzefisi, 30 Juli 2014, 00:10:44

Vorheriges Thema - Nächstes Thema

vuffiraa

Zitat von: stixif am 21 Februar 2018, 17:23:08
scheint soweit ganz gut zu funktionieren!
muss nun nur noch ein paar Parameter suchen ;D

nur beim set is standardmäßig noch test mit drinnen
Ist mir auch schon aufgefallen. Das ist aber nur der Eintrag, da habe ich nicht gleich ein Update hinterhergeschoben. Die Logik dahinter hatte ich nicht eingecheckt.
Ich muss noch ein bisschen Doku ergänzen, dann kommt diese Korrektur gleich mit.

Zitatist es evtl. möglich zusätzlich wenn man den Parameter aus der Liste wählt
oder sonst irgendwo die Info des jeweiligen Parameters zu sehen
(würde ja auch in der export Datei stehen)
Bei den Get-Methoden 'readRegister' und 'writeRegister' sind auch die Erklärungstexte der Parameter zu sehen. Brauchst du noch mehr Informationen? Ansonsten sind alle Infos, die das Modul braucht, in der Instanz versteckt. Mach mal list <device>.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Tog63

#46
Hallo zusammen

Ich habe dank euren tollen Beiträgen erfolgreich ein Verbindung zur Nibe SMO40 herstellen können, damit ich diese optimal zusammen mit meiner Fronius PV Symo Hybrid 5.0-3-S betreiben kann. Ziel: möglichst viel Eigenverbrauch

Leider habe ich noch ein kleines Problem..

Solange ich die simulierten ModBus-Daten (20 Parameter über das LOG-File) nur empfange, habe ich die gewünschten Daten im Fhem zur Verfügung, aber die Fehlermeldung in der Nibe

       Kommunikationsfehler zwischen Anlage und MODBUS-Einheit

was nicht weiter schlimm ist, da die Nibe normal weiterarbeitet, aber halt die Störunglampe rot brennt.

Das Unterdrücken mache ich, indem ich den TX-pullup am RS485-Interface nicht auf fix 3.3V hänge, sondern an einen Raspberry-Ausgang, den ich gezielt ein/ausschalten kann.
Achtung allen im Netz befindlichen Schema gehen auf 5V: http://cdn-reichelt.de/documents/datenblatt/A300/RB-RS485_2017_01.pdf
=> Bei meinem frisch bei ELV gekauften RS485 geht der Pullup auf 3.3V und die Bauteilebezeichnungen stimmen NICHT mit dem Schame überein!


Ist der TX aktiv, flackert die TX-Led permanent, nicht nur wie erwartet alle 30s, wenn die Nibe die Register des Logs sendet, sondern für jedes Telegramm.

Unterdrücke ich die Antwort von Fhem an die Nibe NICHT, geht diese nach ca. 2 Minuten auf Störung, z.B.

   Slave-Wärmepumpe 1 Kommunikationsfehler
   Komm.fehler mit PCA-Zubehör Heizkreis 2

und damit läuft die Anlage nicht mehr richtig, weil scheinbar die Antworten des Fhem dazwischenfunken.

Bin kein RS485 Profi, daher meine Anfrage an euch

Liegt dies an der gemeinsamen RS485-Adresse?
Wie könnte ich die Adresse des ModBus von den restlichen Nibe-Einheiten trennen => Laut ModBus Datenblatt lässt sich die Adresse einstellen, aber wo?
https://www.nibe.ch/nibedocuments/21149/031725-9.pdf
Wo müsste ich beim Fhem die rs485 Adresse verändern?

Gerne erwarte ich eure Vorschläge




vuffiraa

Hallo Tog63,

dann fangen wir mal an  ;)

Das Fhem Modul simuliert das Modbus 40, aber nur gegenüber der Nibe. Das bedeutet, dass das Modul nichts mit Modbus zu tun hat. Daher kann/muss man auch keine Modbus-Adresse einstellen.
Bei mir läuft das Modul permanent und empfängt die Daten der Nibe. Die Nibe selber kommuniziert wirklich im Sekundentakt, daher flackert die TX-Led auch dauernd. Das Modul verlangsamt das bewusst und schickt die Daten nur alle 30 Sekunden weiter.

Die eigentliche Aufgabe wäre, dass Modul auch bei dir robust laufen zu lassen. Grund für den Alarm ist wahrscheinlich, dass das Modul auch auf Nachrichten reagiert, die eigentlich nicht für das Modul (bzw. ein Modbus 40) bestimmt sind. Schicke mir mal ein Log mit verbose = 5 für den Zeitraum, wenn die Nibe auf Alarm geht.

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Tog63

Hallo Vuffiraa

Herzlichen Dank für Deine Info.

Die neue Heizung ist im Ferienhaus installiert, daher hat es ein wenig länger gedauert, bis ich diese angefügte Log erstellen konnte

Wie erwähnt läuft das RS485-Interface am Nibe-PI ohne TX (über GPIO27 geschaltet)

Habe jetzt zweimal das TX aktiviert, bis Fehler mit den Nibe-RS485-Interface gemeldet werden (und diesen Fehler quittiert).
Danach wieder den TX deaktiviert bis Nibe-Modus-Fehler anzeigt (Fehler quittiert) und das ganze nochmals wiederholt

ca. 18:16:10   über PI-GPIO27 TX an RS485 aktiviert
=> ca. 2 Minuten später meldet Nibe   «Slave-Wärmepumpe 1 Kommunikationsfehler»

ca. 18:29:56   über PI-GPIO27 TX wieder deaktiviert
=> ca. 1 Minuten später meldet Nibe   «Kommunikationsfehler zwischen Anlage und MODBUS-Einheit.»

ca. 18:30:52   über PI-GPIO27 TX wieder aktiviert 
=> ca. 2 Minuten später meldet Nibe   Slave-Wärmepumpe 1 Kommunikationsfehler»

ca. 18:34:33    über PI-GPIO27 TX wieder deaktivert
=> ca. 1 Minuten später meldet Nibe   «Kommunikationsfehler zwischen Anlage und MODBUS-Einheit.»

Wie es ausschaut, kommen bei deaktiviertem TX die Nibe-Register-Blöcke dreifach mit längeren Abständen. Ist der TX an kommt der Register-Block einzeln aber häufiger.
Ist diese Häufigkeit ein Grund, dass der RS485 überaktiv ist?

Kannst Du anhand der Log mehr rauslesen, wieso Nibe Slave-Wärmepumpe 1 Kommunikationsfehler» meldet

Gerne erwarte ich Deine Rückmeldung/ratschläge

vuffiraa

Hallo Tog63,

ich habe im Git neue Versionen der Module abgelegt. Kannst du den Test damit noch mal wiederholen?

Zur Funktion kann ich nur vermuten, dass die Nibe die Meldungen immer 3x schickt, wenn niemand eine Empfangsbestätigung sendet. Das senden solcher ACKs passiert dann, wenn TX aktiviert ist. Darum werden die Meldungen dann auch nur noch einfach gesendet. Vielleicht schickt die Nibe aber dann auch noch mehr, da ja jemand da ist, der antwortet.

Ich vermute, dass es zu den Kommunikationsfehlern kommt, weil das Fhem-Modul zu oft Meldungen beantwortet und damit die Antwort des wirklichen Empfängers überschreibt. Das sollte jetzt nicht oder nicht mehr so oft passieren. Im Log sollte das dann aber zu sehen sein.

Schönen Abend
Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Tog63

Guten Morgen Vuffiraa

Besten Dank für Deine neuen Files-
Ich habe diese heute morgen aufgespielt und neu gestartet => gleiches Fehlerbild
Entweder ModBus-Fehler ohne TX, bzw. Slave-Fehler mit TX

Heute früh kam noch eine neue Nibe FW SMO_40_v8350R2. Diese habe ich auch aufgespielt
dito: Entweder ModBus-Fehler ohne TX, bzw. Slave-Fehler mit TX

Hiernach die Störungsmeldungen der Nibe
31.05.2018 08:23:45 Kommunikationsfehler zwischen Anlage und MODBUS-Einheit.
31.05.2018 08:22:49 Komm.fehler mit PCA-Zubehör Heizkreis 2.
31.05.2018 08:20:21 Kommunikationsfehler zwischen Anlage und MODBUS-Einheit.
31.05.2018 08:17:22 Komm.fehler mit PCA-Zubehör Heizkreis 2.
und die Log (verbose 5)

Frage bzgl. Log: woran erkenne ich, dass der Raspi antwortet, sehe eigentlich nur read?

Guten Morgen
Silvan








vuffiraa

#51
Zitat von: Tog63 am 31 Mai 2018, 08:41:03
Guten Morgen Vuffiraa

Frage bzgl. Log: woran erkenne ich, dass der Raspi antwortet, sehe eigentlich nur read?

Guten Morgen
Silvan

Hallo Silvan,

das Modul bedient sich beim Antworten der Standardfunktionalität von FHEM. Das sind dann solche Logs: SW: 06. Hier wurde der Hex-Wert "06" geschrieben, was für ACK steht.

Wenn das Modul eine Nachricht empfangen hat, wird eine Bestätigung gesendet, also:
2018.05.31 08:17:42 5: NibeWP: raw read: 5c0020685099a801
2018.05.31 08:17:42 5: NibeWP: raw read: 004e9c01026c9c10
2018.05.31 08:17:42 5: NibeWP: raw read: 016b9c1201879c14
2018.05.31 08:17:42 5: NibeWP: raw read: 01d89cc700c19cbb
2018.05.31 08:17:42 5: NibeWP: raw read: 00479cbb004d9c00
2018.05.31 08:17:42 5: NibeWP: raw read: 8000a8150101a8b8
2018.05.31 08:17:42 5: NibeWP: raw read: 01ec9f0000ffff00
2018.05.31 08:17:42 5: NibeWP: raw read: 00fda70000ffff00
2018.05.31 08:17:42 5: NibeWP: raw read: 00ffff0000ffff00
2018.05.31 08:17:42 5: NibeWP: raw read: 00ffff0000ffff00
2018.05.31 08:17:42 5: NibeWP: raw read: 00ffff000023
2018.05.31 08:17:42 5: SW: 06

Das ist eine normale Statusmeldung mit den per ModbusManager konfigurierten Werten. Am Ende wird dann die Bestätigung gesendet.

Wenn bei dir TX deaktiviert ist, sieht es zwar so aus, dass ACKs geschickt werden, aber die kommen ja nicht an. Daher schickt die Nibe die Nachrichten 3x. Danach wird das wohl als Fehler vermerkt und bei Wiederholung geht die Nibe auf "Kommunikationsfehler zwischen Anlage und MODBUS-Einheit."
2018.05.25 18:16:10 5: NibeWP: raw read: 5c00206b004b
2018.05.25 18:16:10 5: SW: 06
2018.05.25 18:16:11 5: NibeWP: raw read: 5c00206b004b
2018.05.25 18:16:11 5: SW: 06
2018.05.25 18:16:11 5: NibeWP: raw read: 5c00206b004b
2018.05.25 18:16:11 5: SW: 06


Der letzte Fall ist die Situation, wo Nachrichten von mehreren Stellen bestätigt werden. Da darf sich das Modul warscheinlich einfach nicht einmischen.
2018.05.31 08:17:46 5: NibeWP: raw read: 5c000a90009a
2018.05.31 08:17:46 5: SW: 06
2018.05.31 08:17:46 5: NibeWP: raw read: 15
2018.05.31 08:17:46 5: NibeWP: raw read: 5c000a90009a
2018.05.31 08:17:46 4: NibeWP: drop 2 characters

Die Nachricht wird vom Modul bestätigt, aber jemand anderes (PCA-Zubehör?) lehnt die Nachricht ab: 15 (NAK). Diese 2 Zeichen gehören zu keiner Nachricht, daher gibt es am Ende auch noch den Eintrag im Log, dass die Zeichen verworfen werden. Ich hoffe, wenn das Modul hier nicht Antworten sendet, das Zubehör richtige Bestätigungen schickt und die Nibe keine Kommunikationsfehler bekommt.

Ich versuche das mal heute Abend ins Modul einzubauen.
Edit: Die neue Version ist im Git und wartet auf deinen Test  :)

Gruß Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Tog63

#52
Guten Morgen Ulf

Besten Dank für Deine Infos.
Jetzt kommt für mich ein wenig Licht in die Logs.
Habe soeben die neuen Files aufgespielt und den TX aktiviert und siehe da

.. auch nach einer Stunde geht die Nibe nicht mehr auf Störung   :)

Habe jetzt erstmals auch das Lesen/Schreiben von einzelnen Registern ausgeführt und dies funktioniert ebenso.

Bravo, mit Deiner Hilfe habe ich jetzt die Möglichkeit die Nibe zusammen mit meiner PV-Anlage optimal zu nutzen => ein kleiner Schritt Richtung Energiewende   :D

Mein Heizungsbauer freut sich auch schon auf diese tolle FHEM Möglichkeit.

Nochmals herzlichen Dank und ein schönes Wochenende wünscht Dir
Silvan

vuffiraa

Zitat von: Tog63 am 02 Juni 2018, 09:04:10
Guten Morgen Ulf

Besten Dank für Deine Infos.
Jetzt kommt für mich ein wenig Licht in die Logs.
Habe soeben die neuen Files aufgespielt und den TX aktiviert und siehe da

.. auch nach einer Stunde geht die Nibe nicht mehr auf Störung   :)

Habe jetzt erstmals auch das Lesen/Schreiben von einzelnen Registern ausgeführt und dies funktioniert ebenso.

Bravo, mit Deiner Hilfe habe ich jetzt die Möglichkeit die Nibe zusammen mit meiner PV-Anlage optimal zu nutzen => ein kleiner Schritt Richtung Energiewende   :D

Mein Heizungsbauer freut sich auch schon auf diese tolle FHEM Möglichkeit.

Nochmals herzlichen Dank und ein schönes Wochenende wünscht Dir
Silvan

Hallo Silvan,

schön zu lesen, dass wir das Rätsel gelöst haben  :)

Die Optimierung mit der PV-Anlage würde auch interessieren. Momentan läuft meine Nibe über einen eigenen Zähler mit extra Tarif. Durch den Unterschied zum Normaltarif lohnt sich das Zusammenklemmen (noch) nicht.

Dir auch ein schönes Wochenende!
Ulf
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

MegaData

Hi hi,

ich habe auch eine F1145 und würde da gern optimieren ;-) Ich sehe das also richtig, das man

- einen extra Raspi
- mit einem RS485 -> USB Kabel
- ein 2. fhem mit fhem2fhem Connection

benötigt ? Finde ich ganz schön aufwendig... Aber wenn es tatsächlich läuft... Würde ich mich mal mit Hardware eindecken :)

vuffiraa

Zitat von: MegaData am 14 Juni 2018, 18:14:39
Hi hi,

ich habe auch eine F1145 und würde da gern optimieren ;-) Ich sehe das also richtig, das man

- einen extra Raspi
- mit einem RS485 -> USB Kabel
- ein 2. fhem mit fhem2fhem Connection

benötigt ? Finde ich ganz schön aufwendig... Aber wenn es tatsächlich läuft... Würde ich mich mal mit Hardware eindecken :)

Hallo,

soweit siehst du alles richtig. Alternativ kannst du für den Raspi auch ein RS485-Erweiterungsboard nehmen.

Die 2 Fhem-Installationen scheinen notwendig, da die Nachrichten nicht schnell genug verarbeitet werden können. Das macht dann die Hauptinstanz. Bei mir war der Raspi auch notwendig, da ich meine Nibe nicht direkt mit meiner Fhem-Hauptinstanz verbinden kann.

Nur mal als schnelle Idee könnte man mal prüfen, ob man auch 2 Fhem-Instanzen auf dem gleichen Rechner laufen lassen könnte. Sieht das Fhem2Fhem vor?

Gruß Vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

MegaData

Wenn es nur ums auslesen geht... habe ich auch https://www.marshflattsfarm.org.uk/wordpress/?page_id=3480 gefunden. Das greift scheinbar aufs Uplink zu und macht die Werte lesbar. Bekommt man das nicht irgendwie in Fhem integriert ? Wenn es in Richtung Solar-Ertragserhöhung geht... kann man ja SmartGrid mit ner Relaiskarte schalten und will eigentlich gerade nur wissen ob geheizt wird oder nicht... ?

vuffiraa

Zitat von: MegaData am 15 Juni 2018, 20:42:12
Wenn es nur ums auslesen geht... habe ich auch https://www.marshflattsfarm.org.uk/wordpress/?page_id=3480 gefunden. Das greift scheinbar aufs Uplink zu und macht die Werte lesbar. Bekommt man das nicht irgendwie in Fhem integriert ? Wenn es in Richtung Solar-Ertragserhöhung geht... kann man ja SmartGrid mit ner Relaiskarte schalten und will eigentlich gerade nur wissen ob geheizt wird oder nicht... ?

Dann ist die Frage, ob deine Wärmepumpe ein Uplink-Modul hat. Dann brauchst du noch das passende Uplink-Abo dazu.
Ansonsten könnte man den beschriebenen Ansatz bestimmt verwenden. Wenn man dann, genauso wie der Autor, MQTT verwendet, könnte man die Ergebnisse in FHEM integrieren.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

MegaData

Ja die 1145 hat das schon eingebaut. Ein Abo braucht man nur wenn man die Heizung über das Portal steuern will, auslesen geht gratis :)

vuffiraa

Zitat von: MegaData am 15 Juni 2018, 21:37:07
Ja die 1145 hat das schon eingebaut. Ein Abo braucht man nur wenn man die Heizung über das Portal steuern will, auslesen geht gratis :)

Na dann stehen dir alle Möglichkeiten offen. Die Uplink API könnte man bestimmt auch in einem Modul aufrufen und dann die Daten dort direkt verarbeiten. Wenn das keine Option ist, geht es per MQTT, ohne das man Fhem erweitern muss.
Meine 1245 ist von 2011, da war das noch nicht dabei.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean