Svenska ElektronikForumet
https://elektronikforumet.com/forum/

Läsa och skriva parametrar till Nibe Fighter 1235
https://elektronikforumet.com/forum/viewtopic.php?f=3&t=94118
Sida 1 av 2

Författare:  ecenier [ 15.41 2019-02-10 ]
Inläggsrubrik:  Läsa och skriva parametrar till Nibe Fighter 1235

Köpte hus i slutet av November förra året.
Huset upplevdes kallt och jag lånade en FLIR-kamera för att se var värmen smiter ut.
Såg samtidigt att de vattenburna radiatorerna såg konstiga ut genom FLIR-kameran.
Hade i samma veva några vänner över på middag och blev ganska snart varse att VB-fram och VB-retur verkade omkastade.
Det visar sig att de varit omkastade sedan installationen av bergvärmepumpen för knappt 10 år sedan.

Jag hade en rörmokare över som fixade problemet. Det blev en helt annan värme i radiatorerna. En jämn fördelning av värmen och inte bara i ena kanten av radiatorn som det varit tidigare.

Detta gjorde att jag började söka på om jag kunde läsa av bergvärmepumpens parametrar för att se vad som händer när jag skruvar på cirkulationspumpen, kurvlutning, kurvförskjutning mm. Jag har en Nibe Fighter 1235 8kW.

Självklart finns det ju redan en tråd om detta här på elektronikforumet :)
https://elektronikforumet.com/forum/viewtopic.php?t=13714
Där finns en post av @FredRovers som beskriver hur man kan läsa av parametrarna genom satt låtsas att man är en RCU (Nibes egna kommunikatonsmodul som är ett extra tillbehör).
https://elektronikforumet.com/forum/viewtopic.php?p=267410#p267410

För att få en smidig, kompakt och enkel lösning implementerade jag kod i Arduino IDE som körs på en ESP8266-variant som heter Wemos D1 mini. Det skulle även fungera med den minsta varianten, ESP-01, men jag tog den som låg på armlängds avstånd vid skrivbordet :). F1235 använder RS485-bus för att kommunicera internt, och jag behövde därför även en RS485-RS232-brygga eftersom ESP8266 bara pratar RS232 (https://www.ebay.com/itm/3-3V-UART-serial-to-RS485-SP3485-Transceiver-Converter-Communication-SP3485-NEW/173317363375).
Då RJ45-porten på F1235 även förser med +5V så behövs bara en nätverkskabel som i andra änden har bryggan samt Wemos D1 mini.

Koden som den ser ut idag är en minst sagt work under construction och koden behöver städas rejält... men den fungerar.
Det D1:an gör idag är att lyssna efter (hex) 00 14 från CPUn och sedan svara 06 (ACK). Då skickar CPUn några parametrar. Dessa sparar jag undan i en array. Parametrarna uppdateras många gånger under en minut så man får mer data än man behöver. Det är 97 parametrar totalt, varav flertalet inte är speciellt intressanta eller ens används.
Ungefär var 25:e sekund skickar jag iväg ett UDP-paket med hela arrayen med de senaste värdena.
Detta UDP-paket tar jag emot på en liten server (Seagate FreeAgent DockStar Network Adapter STDSA10G-RK) som jag hackat och kör debian på.
Den tar datat i UDP-paketet och formaterar datat och laddar upp det till thingspeak (https://thingspeak.com/channels/699393). Jag skulle ju helst vilja ha lite finare grafer än vad thingspeak erbjuder, men jag vet inte riktigt vad jag ska välja i djungeln av lösningar.
Sneglar på MQTT och Chart.js, men är osäker på om det är rätt väg att gå. Tips?

En förbättring som skulle förenkla kommunikationen är att jag redan från Wemos D1 skickar direkt till Thingspeak.

En annan sak jag skulle vilja få till är också att kunna skriva värden till bergvärmepumpen, men här har jag än så länge gått bet. Den beskrivning som FredRover beskriver fungerar inte. Jag skickar en 05 (ENQ) efter jag blivit adresserad. Får en ACK enligt hans beskrivning. Sedan skickar jag nya Data, men sedan får jag inte ACK tillbaka :(.

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
CPU                 RCU(typ)
  |                        |
  |—— 00 14 --—>|
  |                        |
  | <——  ENQ --—|
  |                        |
  |—— ACK --——>|
  |                        |
  | <— DATA —--—|
  |                        |
  |——  00  —--—>|   <--- Här går det fel!
  |                        |


DATA-paketet innehåller c0 00 14 03 00 0b 09 d5
c0 är kommando.
00 14 är adress.
03 är payload-längd.
00 0b är adressen till parametern som ska skrivas. Kurvlutning i det här fallet.
09 är nya parametervärdet.
d5 är checksumma (xor av föregående byte c0 till 09).

Någon som har tips på hur man kan få till skrivning?
Bilaga:
20190112T232722.jpg

Bilaga:
20190113T001403.jpg

Bilaga:
20190209T232154.JPG

Bilaga:
IMG_4912.JPG

Bilaga:
IMG_4911.JPG


Edit1: La till en rad i förklaringen av datapaketet efter att @mAVRick påpekat missen.

Författare:  mAVRick [ 15.52 2019-02-10 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Spontant, saknar du inte ett värde på din parameter?
Payload 03, adress 2 byte och sedan checksumma direkt, känns som det skulle in en byte till där...
Med brasklappen att jag kan inget om Nibe eller deras protokoll...

Författare:  ecenier [ 15.58 2019-02-10 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Tack! Hade med värdet i presentationen av hela paketet, men inte i förklaringen. Nu har jag uppdaterat inlägget.

Författare:  sommarlov [ 18.27 2019-02-10 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Har tyvärr inget att inlägga i själva problemet, ville bara säga att det är snygg jobbat! Älskar sådana här projekt folk håller på med hemma!

Författare:  tingo [ 15.57 2019-02-21 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Enig! Pent jobbet!

Författare:  ecenier [ 09.30 2019-04-13 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Nu har jag gått från prototyp till en lite mer robust och permanent lösning.
Lösningen integrerar dessutom en rumsgivare så att man får lite jämnare temperatur och sparar lite energi.

Bilaga:
IMG_0365.jpg

Bilaga:
IMG_0363.jpg

Bilaga:
IMG_0366.jpg


Än så länge har jag bara verifierat rumsgivaren men inte monterat den i huset.

Författare:  ecenier [ 22.57 2019-10-21 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Nu fungerar även skrivning. Har lyckats ändra kurvlutning.


.

Författare:  MiaM [ 04.31 2019-10-22 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Används kurvlutning, kurvförskjutning och utomhusgivare ifall du har inomhusgivare ansluten?

Har försökt förstå beskrivningen till en äldre Nibe och fått intrycket att inomhusgivare "tar över" regleringen. Jag kan ha förstått fel.

Men grattis att du fått överföringen att funka åt båda hållen! :tumupp:

Författare:  ecenier [ 06.16 2019-10-22 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Tack MiaM!

Inomhusgivaren viktas mot utegivaren. Jag har än så länge inte testat att variera den utan den är på defaultvärdet.
På 1235 tar det alltså inte över, utan kompletterar utegivaren.

Författare:  jah [ 09.54 2019-10-24 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

ecenier skrev:
Nu fungerar även skrivning. Har lyckats ändra kurvlutning.

Måste säga att jag är lite förvånad att det funkar...

Kollade hur du gjort i koden, och om det där funkar så borde det egentligen räcka att ändra serieparametrarna till 8N2, och sedan skicka strängen i ett svep istället - har du testat detta?

Jag har själv ändrat till 8N2 i mitt projekt (eftersom det är mer "rätt", men egentligen borde det vara 9N1), och läsning funkar utmärkt.
Har dock inte försökt mig på skrivning än.

/J

Författare:  ecenier [ 11.15 2019-10-24 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Ja, det kan nog vara lite konstigt, men fungerar gör det till 100% än så länge.

Min teori varför det fungerar är att genom att skicka enstaka bytes så kommer seriella klockan på mottagarsidan i synk vid start av varje byte. Stoppbiten saknas och då kanske mottagaren timear ut. Kan ju också vara buggig kod på mottagarsidan som gör att det är ren tur att det fungerar.

Ska testa att skicka som en sträng med 8N2.

Har även lött på två 680Ohms bias-resistorer också för att få väldefinierade state som du tipsade om. Jag borde ha läst databladet mer noggrant.

Minns inte vad du körde med för hårdvara @jah, men om du använder ESP-01 så kan jag skicka ett mönsterkort till dig om du är intresserad.
På mönsterkortet finns även en egen RG10 för att även kunna styra på inomhustemperaturen. PM:a i så fall.

Författare:  jah [ 12.06 2019-10-24 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Tack för erbjudandet, men har dels redan en hemmabyggd RG10, och sedan har jag även ingång för pulser från elmätaren på mitt kort, så bättre erbjuda någon annan det isf.

Annars är ju ditt förstås mycket snyggare...

/J

Författare:  ecenier [ 12.11 2019-10-24 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Jag har alltså 10 mönsterkort över så det är inga problem.
Är det någon annan som är intresserad så PM:a.

Edit: Jag har även fusion360-cad på passande låda om man vill skriva ut på 3d-skrivare.

Författare:  ecenier [ 15.59 2019-10-24 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Nu har jag testat med 8N2 att sända kommandot som sträng, och det fungerar inte. Däremot fungerar det även med 8N2 att skicka varje tecken för sig.
Behåller inställningen 8N2 eftersom det är rätt antal bitar som du säger.

Författare:  Berrabongo [ 21.14 2019-10-24 ]
Inläggsrubrik:  Re: Läsa och skriva parametrar till Nibe Fighter 1235

Kan detta kort Funka med en F1245? då är jag intresserad av ett mönsterkort.

Sida 1 av 2 Alla tidsangivelser är UTC + 1 timme
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/