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

PC-styrning av Bergvärmepump
http://elektronikforumet.com/forum/viewtopic.php?f=4&t=13714

Författare:  ankan [ 19.39 2006-10-13 ]
Inläggsrubrik:  PC-styrning av Bergvärmepump

Har en NIBE 1230 bergvärme pump som man kan köpa till en kommunikationsenhet för ca 11000:- för att kunna kommunicera med den via internet, SMS mm.

Kommunikationen mellan bergvärmepumpen och kommunikationsenheten är RS-485 vad jag förstår. Ska läsa på det lite mer.
Själva kommunikationsenehten verkar vara en webserver med nätverkkort, RS-485 ingång och sedan ett GSM-modem.

Det jag undrar är om någon redan kanske vet hur man kommunicerar mot Nibes värmepumpar eller har tips på hur jag ska kunna luska ut protokollet.

Info om enheten hittar ni här: http://www.nibe.se/rcu
Manual till enheten: http://www.nibeonline.com/pdf/611647-4.pdf

Författare:  BMI [ 21.31 2006-10-13 ]
Inläggsrubrik: 

Jag har också en Nibe pump. Jag har pratat med Nibe om vad för protokoll de använder, Svaret jag fick var att det var ett egenutvecklat protokoll som de inte släppte ut till någon.Hur hemligt kan det vara
Så kanske lite hacking måste till !!!

Författare:  ankan [ 21.37 2006-10-13 ]
Inläggsrubrik: 

Förstog nästan att det var egenutvecklat. Men det borde inte vara så svårt att lösa. Man skickar in lite kommandon och ser vad man får. Bästa av allt skulle vara om någon med kontrollermodulen kunde sniffa trafiken bara.

Protokollet är nog inte särskillt anvacerat. Tyvärr har jag ingen kuskap om RS-485 ännu, men det går ju alltid att lära sig.

Ingen här som har NIBE med kontrollerenhet som har lust att sniffa lite?

Författare:  TomasL [ 09.52 2006-10-14 ]
Inläggsrubrik: 

RS 485 är bara ett elektriskt protokoll, används mycket inom industrin då det är relativt störningssäkert, använder twisted pair.

Skaffa en 485 tranceiver (MAX-xxx, eller nått sånt), sedan kan du försöka sniffa.

Författare:  ankan [ 13.04 2006-10-14 ]
Inläggsrubrik: 

JO jag förstår att det är bara det elektriska protokollet som kallas RS-485.
Det jag är ute efter är själva protokollet som används av styrenheten och kontrollenheten. Dvs vilka kommandon kontrollenheten skickar för att få svar från styrenheten.
Det är säkert inte särskillt komplext men hur skulle jag kunna få fram protokollet om jag inte vet vilka kommandon jag måste skicka?

Författare:  Icecap [ 15.10 2006-10-14 ]
Inläggsrubrik: 

Det kallas "trial and error".

Testa dig fram och se vilka resultat du får. NOTERA DESSA!

Efter ett tag får du kanske se att kommandon finns inom en viss blockstruktur varefter det blir mycket lättare.

De kan också vara så "elaka" att de har stängt kommunikationen helt fram till man skicker ett visst lösenord.

Jag hade ju plockad isär styrenheten, kollat om det fanns en EPROM eller något minne man kan läsa, fannse det sånt ville jag snabbt dumpa det till en fil och konvertera det till text och plötsligt finns det ofta en tabell med kommandon.

Men det kan vara enkelt om de är bättre på att bygga pumper och det kan vara svårt om de är skapliga på att programmera också.

Jag hade ju kanske testat om man kunne få ett öppet köp på den dosa för att se om det var grejen, kopplat på en sniffer och sett hur den kommunicerar varefter jag hade lämnat tillbaka inom "öppet köp"-tiden och sagt "nej tack, det var inte vad jag ville ha..."

Författare:  BMI [ 16.34 2006-10-14 ]
Inläggsrubrik: 

Det är ytmonterade PIC processorer på styrkorten o i modulen

Författare:  Icecap [ 17.29 2006-10-14 ]
Inläggsrubrik: 

De är antagligen kodskyddad vilket gör det nära nog omöjligt att läsa.

Alltså kvarstår att testa eller att "låna" och sniffa.

Författare:  BMI [ 17.34 2006-10-14 ]
Inläggsrubrik: 

PIC 16LF876 Går de att läsa "öppna" om kodskyddet är satt ?

Författare:  TomasL [ 17.48 2006-10-14 ]
Inläggsrubrik: 

Inga kodskyddade PICar går att läsa oavsett hur man gör.

En gång i tiden gick det att låsa upp kodskyddade kretsar, då man kan använda UV för att radera en Flash-krets.
Dvs man "röntgade" kretsen för at ta reda på var chippet satt fysiskt i kappsel, sedan fräste man bort kapseln precis ovanför de minnesceller där kodskyddet fans, och vips hade man en oskyddad krets.
Nåväl, vad kretstillverkarna gjorde för att förhindra denna typ av manipulation var att "slumpmässigt" flytta den fysiska placeringen av dessa minnesceller, så man inte kan få reda på var dessa är belägna, senare så flyttade man ner dessa celler i kislet, vilket innebar att diverse komponenter hamnade ovanför dessa minnesceller, och därmed blev oåtkomliga för UV, och därmed inte var möjliga att raderas.

Summa sumarum, det går inte att knäcka kodskyddet i en processor med inbyggt programminne.
Din enda chans är att "få tag på" det riktiga kortet, koppla in det och sniffa kommunikationen.
Tror det är fullständigt omöjligt (för nån som inter har ett antal miljoner att lägga ned) att på måfå skicka "kommandon" till styrningen.
Du vet inte vilket protokoll som används, inte hur strukturen är uppbyggd, inte hur långa paketen skall vara, är kommandona binära, klartext ett eller flera bytes långa, BigEndian eller inte osv.

Mitt råd är, så länge du inte "får" protokollet eller kan sniffa av det, glöm idee'n

Författare:  ankan [ 19.34 2006-10-14 ]
Inläggsrubrik: 

Även om öppet köp skulle kunna vara något så är priset alldeles för högt för att jag ska ha råd att lägga ut det tillfälligt på en sådan grej.
Hoppas på att någon som redan har kommunikationsenheten har lust att sniffa lite.

Någon här som har och vill sniffa?

Författare:  BMI [ 20.03 2006-10-14 ]
Inläggsrubrik: 

Vad skall man sniffa med ?

Författare:  TomasL [ 20.10 2006-10-14 ]
Inläggsrubrik: 

Tja, nån form av protokollanalysator, typ.

Författare:  ankan [ 20.22 2006-10-14 ]
Inläggsrubrik: 

Det är väll bara att koppla kommunikationsenheten direkt till datorn via en RS-485 till USB/RS232 adapter och se vad den spottar ur sig. Sedan kan man prova att skicka den informationen till styrenheten tex.

Annars skulle det såklart vara smidigast om man kunde låta trafiken gå via PCn och logga på det sättet med något trevlig program som loggar trafiken.

Författare:  BMI [ 20.31 2006-10-14 ]
Inläggsrubrik: 

2 eller 4 tråds kommunikation ?

Författare:  ankan [ 20.36 2006-10-14 ]
Inläggsrubrik: 

Läs på om RS-485. Jag kan inte protokollet själv.

Författare:  vfr [ 20.44 2006-10-14 ]
Inläggsrubrik: 

485 är tvåtråds. Är det fyrtråds så är det inte 485 utan 422. 485 är multidrop så det är bara att hänga på datorn på 485-bussen parallellt med dom andra två enheterna. Använd någon lämplig 485->232 omvandlare och logga med ettt lyssnarprogram. Se till att du inte har någon terminering eller failsafe aktiverad i omvandlaren!

Författare:  TomasL [ 21.39 2006-10-14 ]
Inläggsrubrik: 

Tja, det är ju RS485, så det bör ju vara 2-tråds twisted.

Författare:  BMI [ 22.20 2006-10-14 ]
Inläggsrubrik: 

Ja hur e de nu, e de 485 eller 422. E det inte så att 485 i "folkmun" både har 2 el 4 tråds.E där någon som kollat hur många trådar som e kopplade på CPUn till kontakten till extern modulen.
Det sitter väl en 8 polig modularkontakt på korten
Skall nog själv kolla när jag har tid över, om ingen då så klart kollat detta innan och kan presentera ett schema över kontakten.
Där är iaf 0v och 5v på två av dem .

Författare:  TomasL [ 22.46 2006-10-14 ]
Inläggsrubrik: 

485 är en tvåtråds IF, dock är den Daisy-chain dvs 2 trådar in och 2 trådar ut, dvs 4 trådar, tillkommer naturligtvis skärm. Detta pga att man inte kan lägga hur många enheter som helst parallellt samt att kabellängden är begränsad, impendansen spelar roll.
http://en.wikipedia.org/wiki/EIA-485
http://www.rs485.com/

Författare:  blueint [ 12.30 2006-10-15 ]
Inläggsrubrik: 

Hur ser det ut i själva "mottagaren" av kommandona?, där måste ju sitta logik som tolkar kommandona. Mao nykeln till hur man gör om det inte är ännu en skyddad PIC.

Kolla gärna mer konkret hur många trådar det är mellan kontroller + värmepump. I vilket fall som
helst. Köp en RS485 krets på elfa koppla ihop det med någon billig pc-burk och sniffa på :-)

(NIBE here we come :wink: )

Författare:  Icecap [ 12.46 2006-10-15 ]
Inläggsrubrik: 

"där måste ju sitta logik som tolkar kommandona"??

Menar du ett interface?

Att det är PIC'en som tolkar kommandon kan vi nog komma överens om men "där måste ju sitta logik som tolkar kommandona" förstår jag definitivt inte.

Ingen fabrikant är väl så korkad att de har en processor och sedan låter extern logik tolka kommandon?

Författare:  blueint [ 14.53 2006-10-15 ]
Inläggsrubrik: 

Tänkte man kunde kolla kretskortet. Speciellt efter någon form av minne som kan dumpas på kod.
Kanske man har tur sitter där en oskyddad MCU. Och man kanske kan plocka kortet som reservdel och mäta osv..

Författare:  Zyxel615 [ 14.56 2006-10-15 ]
Inläggsrubrik: 

Då ska man ha tur. MYCKET tur.

Författare:  TomasL [ 15.16 2006-10-15 ]
Inläggsrubrik: 

PICarna har i de flesta fall tillräkligt med minne, både rom och ram för att lagra allt, så om inte programmakarna har varit väldigt klantiga, så får man in väldigt mycket i 64kWord, sannolikheten at nån kod skulle ligga utanför är obefintlig.
Dessutom är det bara de större PICarna i 18F serien som kan hantera externt minne, och de har definivt tillräckligt med internt minne för att hantera en så relativt enkel applikation som att styra en värmepump.

Författare:  blueint [ 17.31 2006-10-15 ]
Inläggsrubrik: 

Om man ställer in sig på att något inte går lär man lyckas med det också :)

Verkar som RCU'n hänger sig om man kör linux/wget mot den (enl värmepumpsforumet). Misstänker att det kan åtgärdas mha dedikerad ethernet länk. Och att man lägger in fördröjning så att värddatorn inte skickar paket för ofta. För 11000kr kan man ju önska sig lite mer tycker man. Så kanske det finns förhoppningar om att dom missat
något i säkerhetshänseende :)

Skulle vara intressant med ett foto av styrkortets innanmäte. Någon nämnde
i2c-bus på varmepumpsforum. Kanske mcu'n på styrkortet helt enkelt sitter mellan en i2c och rs485 bus.
Om man kan få fatt på styrkortet för antingen värmepumpen el RCU'n som reservdel/skrotdel och simulera så att man kan nog reda ut protokollet. Kanske du kan fråga någon reparatör?
Verkar finnas rätt lite skrivet om RCU-10 så det har förmodligen inte lagts ner så mycket jobb på den (olönsamt).

Om man lägger in probar på styrkortets ut/ingångar borde man få kläm på vad dom olika kommandona gör.

Om RCUn:
http://www.varmepumpsforum.com/vpforum/ ... 3.msg76722

Om protokollet:
http://www.varmepumpsforum.com/vpforum/ ... pic=8407.0
http://www.varmepumpsforum.com/vpforum/ ... pic=7917.0

Värmepumpen:
http://www.nibe.se/vvs/produkter/mvp/F1230.htm

RCU:
http://www.nibe.se/vvs/produkter/tlb/rcu.htm

Författare:  ankan [ 20.30 2006-10-15 ]
Inläggsrubrik: 

Ska kolla lite nogrannare när jag kommer över till päronen igen.

Författare:  ankan [ 12.17 2006-10-16 ]
Inläggsrubrik: 

Här kommer bild på styrenheten. Lyckades inte få en skarp bild med mobilen men den stora kretsen är en PIC. Kollade inte beteckningen men någon annan här i tråden tror jag skrev beteckningen.

Det ser ut som vi har en lite kopplingsplint för ICSP. Kan det vara ett eprom kanske som sitter i sockel också?

Verkar som att hela pumpen jobbar med RS485 i och med att alla enheter är kopplade med likadana kontakter (RJ45). Två kontakter på varje kort för att man ska kunna koppla fler på samma kabel antar jag.

Nu vet ni hur kortet ser ut.

Bild
Större bild, tryck här: http://www.pici.se/pictures/4Fp9sx.jpg

Ang NIBEs prissättning så är det verkligen överpriser på en del saker. En innegivare som består av en pot. 2st motstånd och ett tempmotstånd kostar ca 1000:-

Författare:  TomasL [ 12.54 2006-10-16 ]
Inläggsrubrik: 

Det är ingen 16LF876, för många pinnar.

Skriv upp beteckningarna på alla kretsar.

Författare:  blueint [ 13.10 2006-10-16 ]
Inläggsrubrik: 

..

Författare:  blueint [ 13.11 2006-10-16 ]
Inläggsrubrik: 

Skulle vara klart intressant att veta vilken beteckning det stora chipet har?
Likaså om du kan kolla under klisterlappen på chippet med vit klisterlapp (038121/1.06) vad som står där exakt. Då det kan underlätta hurvida man kan läsa ut datat.

Har du möjlighet att kolla under cpu kortet? (med kamera..)

Verkar som det sitter ett externt (parallellt?) eeprom iaf. Klart användbart :)

Prova att sätta kameran på något stadigt underlag och använd självutlösare så får du utmärkta bilder (har provat själv). Du kan också koppla loss kablarna och klämma på dom vita hållarna för att ta loss kortet och köra det i en scanner.

Knappen märkt "S1" står det på pcb'n vad den är till?

Författare:  ankan [ 20.28 2006-10-16 ]
Inläggsrubrik: 

Kom att tänka på att displayen med knappar sitter på ett kort som också använder samma kontakt (RJ45). Den kanske pratar RS-485 också. I så fall har vi redan en enhet som skickar kommandon och får svar.

Kontakten som var inkopplad på bilden jag la upp här senast, är kopplad till kontrollerkortet (kort med display och knappar).
Ingen extra matning behövs. Så man borde kunna byta ut sladden mot en nätverkskabel och sätta kontrolldkortet. i lägenheten.

Kontrollkortet har som andra kort som kommunicerar 2st RJ45 kontakter. Bifogar bild på kontrollerkortet.

Bild

För större bild, tryck här: http://www.pici.se/pictures/BbG88q.jpg

Författare:  blueint [ 23.28 2006-10-16 ]
Inläggsrubrik: 

Tror kontrollerkortet med knapparna (på själva värmepumpen?) är rena "rosettastenen" för NIBE 1230 protokollet. Det kortet + en pc borde kunna ge protokollet på några timmar el dagar.

Även om kontrollpanelen är stendum, så kan du kommunicera med värmepumpen och simulera knapptryckningar + översätta lcd signalering till numerära siffror.

Författare:  Icecap [ 06.21 2006-10-17 ]
Inläggsrubrik: 

Då styrchippen har extern EPROM med programmet i är det inget problem att läsa minnet!

Största problemet vore att greja en sockel och det är ganska enkelt. Sedan får man kolla ordentligt efter data/text i den chip när man har avläst den men om man samtidig kollar vilken processor som finns där är resten inte speciellt svårt.

Författare:  ankan [ 11.01 2006-10-17 ]
Inläggsrubrik: 

Okey EPROMen kanske är en enkel lösning såvida man vet hur man ska komunicera med den så man inte rensar bort innehållet.
Hur kan man läsa av minnet på ett enkelt sätt då?

Även om jag fixar sockel så behöver jag väll koppla något mer innan jag kopplar in den till datorn. Och sedan behövs väll något smidigt program också.
Tips någon?

Att koppla in sig på samma buss eller mot kontrollkortet med knappar är nog annars rätt smidigt om man bara har en konverter för RS-485 till RS-232 eller USB. Vet inte vilket av ovan jag ska prova.

Författare:  vfr [ 13.34 2006-10-17 ]
Inläggsrubrik: 

Båda två kanske? Ju mer information man har, desto lättare är det att få till något som fungerar. Börja med att ta reda på vad det är för CPU och vad det är för minne!

Författare:  blueint [ 16.04 2006-10-17 ]
Inläggsrubrik: 

Såg dustin har ett RS-485 <-> USB interface för 800 ex moms. Annars kan man plocka ihop följande hos elfa (i stora drag):
DS26LS32ACN 16.90 kr - RS485 mottagare
DS26LS31CN 16.90 kr - RS485 sändare
MAX232CPE 25.80 kr - RS232 mottagare/sändare
7805 ..
5V dc strömförsörjning gillar dessa chips.

Kanske man kan få fatt i eprom datat som "upgradering" så slipper man läsa ut det? ;)
Eller reservdel.. (kan ju kolla hos nibe reparatörer).

Av fotona att döma så ser det ut som eepromet är parallellt. Så det som behövs är någon form av latch med adresspinnar + tristate chip som skickar datat till lpt porten. Programvara till detta kan man skriva på någon dag.
Alt färdig läsare hos någon firma/skola.

Den utlästa eepromen kan man köra lämpligt i någon simulator och se vilka I/O portar den vill pilla på.

Författare:  Icecap [ 18.20 2006-10-17 ]
Inläggsrubrik: 

EPROM'et är (inte EEPROM) ett standart EPROM, med en standart EPROM-programmeringsenhet kan man läsa den på ett nafs. Jag har t.ex. en Dataman S4 liggande som är enbart till detta att läsa/programmera EPROM.

Att skruva ihop en sniffer är det minste problem, den kan göras på många sätt.

Men det viktigaste är att få veta vilken CPU det är samt att läsa EPROM'en, sen är resten "bara" att dekoda.

Författare:  vfr [ 18.24 2006-10-17 ]
Inläggsrubrik: 

Håller med Icecap!

485 bygger jag som du beskriver med MAX232, 7805 och en MAX485 istället för 26-kretsarna. Läsa ut minnet är inget problem. Det viktiga är vad det är för typ.

Författare:  blueint [ 01.12 2006-10-18 ]
Inläggsrubrik: 

Om man vet processortyp + "data" så kan man ev köra en simulering och sonika testköra den virtuellt.
Disassemblering är förståss också ett alternativ.

Författare:  ankan [ 09.21 2006-10-18 ]
Inläggsrubrik: 

Tror ni alltså att datat som finns i EPROMet är koden för PICen?
Varför annars snacka om att disassemblering?

Författare:  TomasL [ 09.29 2006-10-18 ]
Inläggsrubrik: 

Skulle fortfarande vara intressant att veta vilken typ av PIC som sitter där samt vilken typ av Eprom. Det är helt avgörande för att lyckas.

Författare:  blueint [ 10.18 2006-10-18 ]
Inläggsrubrik: 

Hur vet vi att det är PIC på korten?
'BMI' sa det iofs men peppar peppar.. :)

Kollade lite i manualen..
1) För att kommunikationen skall fungera måste CPUkortet i FIGHTER 360P ha versionsnummer 2.00 eller högre.
2) RCU 10 har en förinställd IP adress : 10.200.1.X, där X är den sista siffran i MAC ID (finns på etiketten på sidan av enheten).
3) Om lösenordet glöms bort finns inget sätt att återfå detta. RCU 10 måste returneras till NIBE där total återställning kommer att ske. Alla gjorda instllningar inklusive användarinställningar försvinner.
4) Kan RCU 10 smittas med virus? Nej. Virus är i regel alltid skrivna för att smitta datorer som kör Microsoft Windows eller i sällsynta fall Linux.

Punkt (1) och (3) är väl mest intressanta. Indikerar att det kanske inte går att kommunicera med alla versioner av värmepumparna. Och att det finns någon slags eeprom liknande chip på rcu enheten.

Författare:  vfr [ 11.16 2006-10-18 ]
Inläggsrubrik: 

Tror ni alltså att datat som finns i EPROMet är koden för PICen?
Varför annars snacka om att disassemblering?


Javisst! Jag trodde det framgick tydligt av tidigare inlägg. Visst skulle, teoretiskt sett, kunna vara annan data i EPROM:et och ingen kod men det tycker jag är långsökt. Hade det bara varit parameterdata så hade det säkert varit ett seriellt EEPROM istället.

Författare:  TomasL [ 11.28 2006-10-18 ]
Inläggsrubrik: 

Är iofs väldigt förvånad över att man lägger koden i externt prom, då dagens uC med lätthet rymmer de flesta applikationer.
Vad man skulle kunna tänka sig är att prommet rymmer konfig-data för att anpassa en generisk kod till en specifik applikation.

DVS:

Man använder samma uC och kod till alla produkter och stoppar i ett prom som talar om vilken produkt som uC'n skall styra, dvs vilka typer av givare som är monterade och var dem är till för, samma för utgångarna, vilket språk som skall användas osv.

Författare:  Icecap [ 11.38 2006-10-18 ]
Inläggsrubrik: 

Jag misstänkar att den processor som sitter där är en sorts 8051/8031-grej, detta betyder att designaren inte är helt up-to-date. Att ha en "ID-prom" som aktiverar olika parametra är såklart ett sätt men den EPROM som finns är en "fullsize" (32 eller 64 Kbyte) som kostar alldeles för mycket att peta dit för lite smådata, jag vill alltså påstå att det är programminnet på riktigt.

Att det också är vald en sockel och inte en flash-krets är ytterligare en indikation på att det är en äldre sorts konstruktion, har man mekaniska vibrationer är sockel "livfarlig", det är sannolikt första stället som det blir glappkontakt.

Jag bedömer ytterligare min antagande av processortyp på komponentval osv.

Så jag håller med TomasL i att det är mycket konstigt med det processorval men det kan ju vara att det är ett ålderdomligt program som inte enkelt kan portas till en enklare processor.

Författare:  TomasL [ 12.23 2006-10-18 ]
Inläggsrubrik: 

Därför är det oerhört intressant om han som startade tråden kan berätta vad det är för processor, utan den informationen är tråden tämligen meningslös.

Författare:  ankan [ 15.39 2006-10-18 ]
Inläggsrubrik: 

Ja, jag ska kolla vad det är för kretsar. Har inte pumpen hemma hos mig utan den står hemma hos mina päron.
Pumpen hemma hos mig är äldre och inte alls uppbyggd på samma sätt.
Hur som helst har jag för mig att det är en PIC eftersom jag har för mig att jag såg att det stog Microchip på kretsen.
Men jag förstår inte hur det skulle kunna vara programminnet i och med att picen har en ICSP som det ser ut också.
Fast de kanske programmerar kortet med en bootloader och låter sedan koden finnas i flashminnet för att göra kortet dynamiskt för olika modeller på värmepump.

Författare:  ankan [ 19.13 2006-10-19 ]
Inläggsrubrik: 

Ska kolla vilka kretsar det är i pumpen men till dess tänkte jag lägga upp en bild på styrkortet på bergvärmepumpen som jag har hemma hos mig. Knepigare att koppla in sig på kanske?

Bild
Stor bild: http://pici.se/pictures/2x7zPP.jpg

Sitter en PIC 16F876 sedan har vi inte så mycket mer på det kortet.
Och sladdarna går till reläna samt givaren. Sedan har vi något konstigt på kortet som är tryckknappar (5st vita lådor)

Ratten är för att justera kurvan (sänka eller höja rumstemperaturen någon grad).

Pumpen har inga tillbehör för att kunna anslutas till dator utan det var bara min ide. Annars går det alltid att köra med några 1-wire sensorer men det är ju inte lika kul.. :-P

Författare:  blueint [ 06.42 2006-10-20 ]
Inläggsrubrik: 

Du får väl kolla om PIC'n låter dig ladda ner bitströmmen via någon kontakt på kretskortet..?
Annars kunde man ju vara fräck och byta alltihop till ett kort man konstruerat själv ;)
RS485 interface borde annars kunna läggas till med ett simpelt chip om man kan programmera om PICen.

Undrar hur komplicerad algoritmen för en värmepump är egentligen.

Har du möjligtvis en bättre kamera?, bilderna är för suddiga för att läsa komponentbeteckningar.

Författare:  ankan [ 07.52 2006-10-20 ]
Inläggsrubrik: 

Smidigt med mobilkamera men jag ska bättra mig och plocka med mig systemkameran nästa gång.

Författare:  atlas1202 [ 11.38 2006-10-31 ]
Inläggsrubrik: 

Detta hör inte helt till samtalet kanske.

Men lite kul angående värmepump och pc.

Detta är bland det snyggare hemmbygen i dessa sammanhang jag sett.
http://www.melectro.com/solvarme

MVH Altas

Författare:  Radioman [ 18.54 2006-11-02 ]
Inläggsrubrik: 

Hepp, det där är hemma hos min kollega som jobbar på samma avdelning som mig :o
Han har gjort en massa programvara i National Instruments grafiska programspråk Labview. Sedan har han en gedigen bakrund med Z80 som också är inblandat här och var. Han är en riktig assembler-nörd = mycket duktig.
När det gäller bergvärmen har han köpt kompressor och borrat. Resten har han gjort själv. Jag menar ALLTING. Styrning och alla kopplingar med hårdvara osv.

Senast har han rotat en del med Atmel processorer. Jag tror det var på solpanelerna.

Vi jobbar på en instrumentavdelning på Borealis polyeten i Stenungsund. Vi har en chef som inbjuder till "stolleprov". Vår avdelning kallas sedan några år tillbaka för "tomteverkstaden". Ett gott betyg eller? :)

Författare:  ankan [ 20.26 2006-11-16 ]
Inläggsrubrik: 

Här kommer äntligen upplysningen om komponenterna på kortet..

PICen: PIC18C601-I/L
Minnet: AM29F040B-55JC
Mellan minnet och PIC: 74HCT573D
Mellan PIC och RJ45: 74A176


På kortet med LCDn och kontrollpanelen hittade jag en PIC16LF876-04/SO

Tror att det satt en likadan på ett reläkort som också var kopplat på RS-485 bussen.

Här kommer en kanske lite bättre bild på kortet också...

Bild
http://www.pici.se/pictures/WuI5Ic.jpg

Så hur ska jag gå tillväga? Kan man få ut något trevligt av minnet må tro?
Protokollet borde förståss finnas i alla picarna och endast all lagrad data som menyer, värden mm sparas på minnet.

Författare:  TomasL [ 20.41 2006-11-16 ]
Inläggsrubrik: 

18C601 är en "rom-less" kontroller dvs det finns ingt progammminne i den.
AM29F040 är ett 512 kb*8 Flashminne.
Så det är ju bara att dumpa minnesinnehållet, göra en disassemble, och sedan försöka förstå vad dem gjort. Lätt som en plätt :twisted:

Författare:  ankan [ 20.47 2006-11-16 ]
Inläggsrubrik: 

Då är bara frågan hur jag ska lyckas läsa ur minnet. Måste sätta ihop en läsare och sedan hitta ett program som kan läsa av minnet.

Annars borde det vara rätt lätt att få ut kommandona som skickas på RS485 bussen genom att koppla in sig och låta kontrollpanelen skicka lite kommandon.

Författare:  blueint [ 16.24 2006-11-17 ]
Inläggsrubrik: 

Koppla in en PC med RS485 interface på bussen och se vad som dyker upp. Har du tur slipper du disassemblering.

Författare:  ankan [ 16.51 2006-11-17 ]
Inläggsrubrik: 

Har ingen PC med RS485 interface eller RS485 <-> RS232/USB konverter.
Men det skulle vara det smidigaste sättet för att slippa sätta ihop en läsare.
Men om det är lätt att sätta ihop en läsare och det finns någon bra programvara för avläsning så kan det vara intressant också.,

Men som du säger. Det är ju själva trafiken jag är intresserad av. Dvs vilka kommandon som ska skickas och vilket svar jag sedan får.
Att disassemla en maskinkod som tar upp 512k x 8bit dvs 512kB kan bli rätt mastigt..

Författare:  blueint [ 10.02 2006-11-29 ]
Inläggsrubrik: 

Har du tur så är EEpromet inte fyllt så mycket.
När det gäller RS485, så köp en transceiver på ELFA el likn. Och koppla till en laptop/PC som sparar ner all RS232 trafik.

http://www.elfa.se/elfa-bin/dyndok.pl?dok=2013412.htm
73-485-01

http://www.elfa.se/elfa-bin/dyndok.pl?dok=2013395.htm
73-023-26

Låt sedan 'R0' på LTC485CN gå till pin11 på MAX232 och pin14 till RX på serieporten.
Allt 5V & hålmonterat.

Btw,.. du kan ju lägga upp innehållet i eepromet så man kan ögna igenom det iaf ;)

Författare:  ankan [ 10.29 2006-11-29 ]
Inläggsrubrik: 

Hur ska jag läsa av minnet då?
Eller ska jag skippa det och läsa av RS485 trafiken i stället?

Författare:  bjolin [ 15.10 2006-12-12 ]
Inläggsrubrik: 

Lyckas du med att läsa och disassemblera styrprogrammet borde det ge mest information, men det kan vara knepigt, speciellt om programmet är skrivet i C från början. Med en bra återskapad källkod borde det även vara möjligt att tillföra en del för dig passande förändringar.
Det borde ju gå att läsa ett flashminne med en relativt enkel konstruktion på parallellporten. För egen del känns dock sådana tilltag lite osäkra. Det känns som det var tryggare på gamla hederliga E-prom som är lite svårare att radera.

Hur som helst är jag väldigt nyfiken på resultatet.
Jag har själv en värmepump från Nibe installerad 2002 vilken förmodligen har samma typ av styrkort som det som visades i tråden.
Till detta finns en dröm om installation av solfångare samt komfortkyla.
Efter att ha läst tråden och fått lite inspiration funderar jag nu på en lösning med tre enheter förbundna med CAN.
En modifierad VP-styrning (eller om det går att patcha det som finns i flash-kretsen). En centralenhet varifrån alla parametrar i systemet kan sättas, läsas och loggas. Samt en enhet för styrning av shuntventiler och pumpar samt inmätning av olika temperaturer placerad på ett strategiskt ställe på vinden.

Nu ska jag bara bli klar med allt annat som ska göras först, ventilation ,tilläggsisolering, lister, bastu.......

Författare:  FredRovers [ 21.35 2007-01-09 ]
Inläggsrubrik: 

Är det någon som kopplat ett oscilloskop till RJ45-porten för att se vilken hastighet, stoppbitar o.s.v. de kör.

Jag har en Nibe 360p (frånluftsvärmepump) och där ser det ut att vara tvåtrådat, det lilla jag har tittat. Jag tror att de kör över matning på kabeln också troligen +5V, +12V och GND?

Författare:  ankan [ 23.57 2007-01-09 ]
Inläggsrubrik: 

Antagligen körs matningen över. Tyvärr har jag inte kört något oscilloskop för att kolla hastigheten ännu. Har skaffat delar för att bygga en RS485 <-> RS232 konverter men längre har jag inte kommit. Har kommit andra projekt ivägen.

Författare:  FredRovers [ 21.32 2007-01-11 ]
Inläggsrubrik: 

:D
Nu har jag loggat lite trafik. Jag har provat mig fram med baudrate och tror att 19200 är det som körs (8N1). Det känns som det är den hastighet som datat flyter på bäst. Det sitter en lysdiod (Röd) på kortet som verkar vara tänd då det finns trafik på bussen.

Jag kör med ett litet utvecklingskort med en ATmega128 som har lagt in en liten kodsnutt i som kör RS485->RS232 konvertering.

Detta är vad jag får in in min PC:

0x6E 0xCA 0x7E 0x7E 0x7E 0x7E 0x2A 0x3A 0x4E 0x2A 0x3E 0xC9 0xF3 0xE7 0xE7 0xA6

0xCD 0x6E 0xF2 0xFE 0x5E 0xF9

0x6E 0xF6 0xDE 0x12

0xEE 0xF2 0xEA 0xDA 0xDE


0x6E 0xCA 0x7E 0x7E 0x7E 0x7E 0x2A 0x3A 0x4E 0x2A 0x3E 0xC9 0xF3 0xE7 0xE7 0xA6

0xCD 0x6E 0xF2 0xFE 0x5E 0xF9

0x6E 0xF6 0xDE 0x12

0x6E 0xF2 0xEA 0xD6 0xD2


0x6E 0xCA 0x7E 0x7E 0x7E 0x7E 0x2A 0x3A 0x4E 0x2A 0x3E 0xC9 0xF3 0xE7 0xE7 0xA6

0xCD 0x6E 0xF2 0xFE 0x5E 0xF9

0xF4 0xF4 0x31 0xE4 0x80 0x6E 0xF6 0xDE 0x12

0x6E 0xF2 0xEA 0xD2 0xD6

Så fortsätter det. Med lite annan data när det händer saker i pannan. Det ser ut som om det sker trafik en gång per sekund. I datat ovan har jag gjort två blankrader då det är tyst på bussen under en längre tid och en blankrad då det är tyst en lite kortare stund. Datat ovan kommer från 3s loggning.

Vid en första anblick ser det inte så vidare värst lättlöst/lättläst ut :? .

Är det någon som har någon idé? :?:

BTW, Om jag kör på 9600 får jag följande:

0xF7 0xDC 0xD7 0xD7 0xD7 0xD7
0xF7 0x5F 0xDE 0x9F
0x17 0x5F 0xDF
0x17 0x5F 0x1E

0x37 0x5F 0xDC 0xD7 0xD7 0xD7 0xD7
0x37 0x5F 0xDE 0x9F
0xF7 0x5F 0xDF
0x17 0x5F 0x1E

0x27 0x5F 0xDC 0xD7 0xD7 0xD7 0xD7
0x37 0x5F 0xDE 0x9F
0xF7 0x5F 0xDF
0x74 0x1F
0x17 0x5F 0x1E

Författare:  vfr [ 22.05 2007-01-11 ]
Inläggsrubrik: 

Ett tips bara. Skriv ut utan inledande "0x" istället. Det blir mycket lättare att läsa raderna då. Vi vet ju ändå att det är hex, annars räcker det att du talar om det en gång i början. :)

Författare:  ankan [ 22.38 2007-01-11 ]
Inläggsrubrik: 

Bra jobbat FredRovers. Nu börjar vi ta oss någon stans.

Det jag tänkte kolla var att se vad som händer när man ändrar eller gör saker på panelen till att börja med för att se vad den skickar och vad den får tillbaka.

vfr's, tips e bra att skippa "0x" så blir det lättare och läsa och att ev översätta till ASCII.

Kör lite längre och tryck lite på knapparna för att se om du får någon ren text i ASCII. Känns som att den kanske hämtar menyer mm från EEPROMen som ligger på en annan node. Dvs texten måste transporteras.

Panelen är kanske bara en dummy som hämtar info och ändrar info i EEPROMen som sedan styrsystemen läser av sedan.

Författare:  FredRovers [ 08.48 2007-01-12 ]
Inläggsrubrik: 

Jag noterade också att det blir lättare att läsa utan '0x' så det tog jag bort i en senare version. Tidigare provade jag att konvertera tecken >=20 (Hex) till ASCII men det var ju rena rappakaljan så det tog jag bort. Jag har provat att trycka på knappar på panelen och det händer ju saker men inget som man kan läsa ut i klartext. Jag provade att koppla ur RS485 kabeln mellan panelkortet och processorkortet men då startade panelkortet om, eller om det var processorkortet. Det stod iaf likadant på displayen som när man startar pannan (då jag stoppade tillbaka RS485).

Jag ska väl logga lite mer för att se vad jag kan få fram. Det vore ändå trevligt om någon mer kunde få igång loggning så att vi kan jämföra lite resultat.

Författare:  ankan [ 10.38 2007-01-12 ]
Inläggsrubrik: 

Skulle kanske kunna börja logga om jag bara får ihop delarna.

Har du kopplat Pump <--> Utvecklingskort <---> PC eller hur har du gjort. Förstog inte riktigt din koppling.

Har skaffat mig RS485 <---> RS232 krets och sedan en MAX232 för att kunna koppla till datorn direkt. Har dock ännu inte satt ihop det hela. Har precis fått hem en motorstyrd garageport som jag tänkte börja leka med.

Författare:  oJsan [ 10.52 2007-01-12 ]
Inläggsrubrik: 

På tal om bergvärmepump:
http://www.folkbladet.nu/2007/01/11/fra ... varmepump/

Författare:  FredRovers [ 15.29 2007-01-12 ]
Inläggsrubrik: 

Jag har jackat in en nätverkskabel på kortet som du lade ut en bild på tidigare i tråden... http://www.pici.se/pictures/WuI5Ic.jpg ...och kopplat nätverkskabeln till mitt utvecklingskort som har en RS485-port. I utvecklingskortet läser jag av RS485-porten och skickar ut det på en RS232-port och in i min PC. Dvs utvecklingskortet omvandlar enbart från RS485 till RS232 och lägger till lite tidsinformation på mottaget data.

De två RJ45 portarna sitter parallellt det har jag kollat på undersidan av PCBn. RJ45 porten ser ut enligt nedan:
1 - D-
2 - D+
3 - +12V
4 - +12V
5 - +5V
6 - +5V
7 - GND
8 - GND

Jag ser ju inte vilken riktning som datat har (till eller från panelkortet). Man kan ju alltid koppla in ett skåp på Rx och Tx direkt på processorkortet för att få reda på det.

Det tråkiga är ju att det verkar vara svårt att tyda datat, men skam den som ger sig...[/url]

Författare:  vfr [ 17.07 2007-01-12 ]
Inläggsrubrik: 

Ska kanske tillägga att jag inte heller såg något uppenbart mönster i det hela. Inte mer än att vissa sekvenser återkom flera ggr.

Det är lite lättare om man får med tidsaspekten på det hela för att kunna "paketera" ihop dom byte som ingår i ett meddelande.

Författare:  FredRovers [ 22.33 2007-01-16 ]
Inläggsrubrik: 

En känsla som jag får är att NIBE använder sig av "Modbus over serial line"...

http://www.modbus.org

Är det någon på forumet som känner till något om Modbus? Annars får man läsa på lite, det ser ju ut att funnas en hel del på deras hemsida.

Författare:  FredRovers [ 11.23 2007-02-12 ]
Inläggsrubrik: 

Nej, det är inte modbus...

Exempel på logg:

6E C6 7E 7E 7E 2A 3A 46 3A 3E C9 F3 E7 E7 E7 E7 32

Inverterat och >> 2 ger följande (om man omvandlar till ASCII om data >= 0x20):

'$'x0E' '' '' ''5''1''.''1''0'x0Dx03x06x06x06x06'3'

51.1 är det som hamnar på displayen.

Är det någon som känner till något system som inverterar och skiftar två steg. Kanske är detta helt egetutvecklat av NIBE???

Förslag på vad de två bitarna som man skiftar bort ska användas till?

Författare:  bjolin [ 08.39 2007-02-19 ]
Inläggsrubrik: 

FredRovers skrev:
Nej, det är inte modbus...

Exempel på logg:

6E C6 7E 7E 7E 2A 3A 46 3A 3E C9 F3 E7 E7 E7 E7 32

Inverterat och >> 2 ger följande (om man omvandlar till ASCII om data >= 0x20):

'$'x0E' '' '' ''5''1''.''1''0'x0Dx03x06x06x06x06'3'

51.1 är det som hamnar på displayen.

Är det någon som känner till något system som inverterar och skiftar två steg. Kanske är detta helt egetutvecklat av NIBE???

Förslag på vad de två bitarna som man skiftar bort ska användas till?


Lite mer dataanalys:

Om vi anveänder oss av en vanlig ascii-tabell för att tolka styrkoderna får vi:
x0E - Shift out <SO>
x0D - Carriage return <CR>
x03 - End of text <ETX>
x06 - Acknowledgement <ACK>
x20 - space <SP> (Jag vet, det är ett gränsfall)

Med andra ord skulle texten bli $ <SO SP SP SP> 51.10 <CR ETX ACK ACK ACK ACK> 3
Läggs de utskiftade bitarna till fås följande:
slutbitar "01" : $ <SO SP SP SP> 51.10
slutbitar "10" : <CR>
slutbitar "00" : <ETX ACK ACK ACK ACK>
slutbitar "01" : 3

Slutbitarna skulle kunna vara avsändare eller avsedd mottagare, men då skulle jag gärna haft <CR> och <ETX> med slutbitarna 01.

Fast mitt antagande bygger ju på att ASCII-standard används. Det kan ju vara så att styrkoderna är helt egna.

Hopppas att det bidrar till något
Hälsningar
/Björn L.

Författare:  FredRovers [ 22.26 2007-02-19 ]
Inläggsrubrik: 

Alla idéer är välkomna.

Jag håller med, det stämmer bara nästan att de två LSB-erna skuller vara avsändare/mottagare.

Frågan som jag inte riktigt klurat ut är hur de skickar klockuppdateringar på displayen följande data skickas precis då klocakn uppdateras på displayen. Klocak står inte på samma rad som temperaturen i exemplet tidigare.

21:33 <- Visas på displayen
C4 E6 F6 C4 7C 24 FC F2 3C 98 E4 (Data som skickas)
x0Ex06x02x0Ex20x36x00x03x30x19x06 (!Data>>2)

21:34
C4 E4 FC E2 74 2C FE E4 04 98 E4
x0Ex06x00x07x22x34x00x06x3Ex19x06 (!Data>>2)

21:35
C4 E6 F4 C4 74 2A FC F2 0C 98 E4
x0Ex06x02x0Ex22x35x00x03x3Cx19x06 (!Data>>2)


21:38
C4 E6 F6 C4 7C 1C FC 90 24 98 E4
x0Ex06x02x0Ex20x38x00x1Bx36x19x06 (!Data>>2)

21:39
C4 E4 F6 10 74 1A FC F4 2C 98 E4
x0Ex06x02x3Bx22x39x00x02x34x19x06 (!Data>>2)

Här ser det inte ut att vara rätt att invertera och skifta två steg åt höger.

:roll:
Det jag efterlyser nu är någon som har en RCU-10 och som kan ställa upp att logga trafiken då RCU:n är aktiverad. Det är ju egentligen endast den trafiken som är av intresse. Jag skulle kunna låna ut RS-485<->RS-232 konverterare om det är det som saknas. Hör då av er genom ett PM!

Författare:  blueint [ 13.06 2007-05-22 ]
Inläggsrubrik: 

Hur har det gått med värmepumps-pc projektet?

Författare:  sokrates [ 21.59 2007-08-08 ]
Inläggsrubrik: 

FredRovers skrev:
Alla idéer är välkomna.

Jag håller med, det stämmer bara nästan att de två LSB-erna skuller vara avsändare/mottagare.


Jag har läst litet i databladet på PIC18C601:

http://ww1.microchip.com/downloads/en/D ... 39541a.pdf

Kan det vara så att de använder USART:en i 9-bitars-mode? På något annat ställe på nätet har jag läst att det är vanligt att koppla en master med flera slavar i ett rs485-system via ett 9-bitarsprotokoll där den extra biten talar om huruvida byte:en är en adress eller data (har inte läst in mig på detta ännu så ta det med en nypa salt).

Vad var det du sa tidigare, att de två 485-portarna var paralellkopplade? Det skulle stämma med detta.

Om det nu är så skulle man vilja konfigurera den vanliga serieporten på PC:n att klara 9 bitar. Är det någon som vet om UART:en på en PC klara det?

Författare:  tobbeja [ 22.50 2007-08-11 ]
Inläggsrubrik: 

Jag har läst ur pannans program-minnet till PICen i hopp om att kunna hitta några användbara kommandon i klartext, men hittade tyvärr inga sådana.Det enda jag hittade i klartext är texterna som visas i pannans display.

Är det någon här på forumet som kan tolka den urlästa hex-filen och på så sätt få reda på protokollet och kommandona?
I annat fall så blir det att plocka fram oscilloskopet samt sniffa datan mellan styrkortet och displayen medans man knappar runt i menyerna.

I mitt fall är det en NIBE 360-panna som jag skulle vilja kunna styra via nätet.

Författare:  TomasL [ 22.57 2007-08-11 ]
Inläggsrubrik: 

picdis18 gör jobbet, tyvärr kan man ju inte maila den till dig.

den disassemblerar programmet, dvs översätter det till assembler.

Dock måste man veta hur pic'en är kopplad dvs man måste göra ett schema så man vet vad de olika pinnarna är kopplade.

Författare:  sokrates [ 08.54 2007-08-16 ]
Inläggsrubrik:  Förklaring till invertering och skiftning?

FredRovers skrev:
6E C6 7E 7E 7E 2A 3A 46 3A 3E C9 F3 E7 E7 E7 E7 32

Inverterat och >> 2 ger följande (om man omvandlar till ASCII om data >= 0x20):

'$'x0E' '' '' ''5''1''.''1''0'x0Dx03x06x06x06x06'3'

51.1 är det som hamnar på displayen.

Är det någon som känner till något system som inverterar och skiftar två steg. Kanske är detta helt egetutvecklat av NIBE???

Förslag på vad de två bitarna som man skiftar bort ska användas till?


rs485-nätverket använder ett 9-bitars-protokoll där paritetsbiten används för att signalera något, tex huruvida byten är en kontrollsignal eller data. Kommunikationen är halv duplex. Protokollet innehåller mekanismer för att addressera moduler och att vända på kommunikationsriktningen.

Förklaringen till inverteringen, de extra bitarna och de oregelbundna sekvenser associerade med tidvisning på displayen som du rapporterat om i ett annat meddelande kan vara en kombination av följande:

1. Baudrate är 19200, men man ska inte använda 8N1 utan 8 bitar med paritet (som man sedan tolkar om eftersom paritetsbiten också är data).

2. Datasignalen är inverterad, dvs den rs232-rs485-adapter du använder bör invertera RXD-signalen mellan 75176 (eller vilken rs485-IC som nu används) och rs232-gränssnittet, jämfört med hur det nu är gjort.

1 + 2 ovan leder till "framingproblem", dvs din UART skär inte ut de 8 databitarna på rätt ställe. Paritetsbiten bidrar ytterligare till detta problem. Jag föreslår att detta är orsaken till skiftningen.

Författare:  sokrates [ 09.11 2007-08-16 ]
Inläggsrubrik:  Pinnar

TomasL skrev:
Dock måste man veta hur pic'en är kopplad dvs man måste göra ett schema så man vet vad de olika pinnarna är kopplade.


Jag har inte mätt detta, men kan med säkerhet dra slutsatsen att rs485-nätverket drivs av PIC18C601:s USART, dvs 75176 (bussdrivaren) är kopplad till RC6/TX/CK (pin 31) och RC7/RX/DT (pin 32). Dock är jag osäker på om signalen inverteras innan 75176 eller ej.

Författare:  cosmos [ 17.06 2007-09-11 ]
Inläggsrubrik: 

Min VP er (tror jeg) for praktiske formål en nibe 1130, PIC Prom er merket 1.06 så den bør støtte RCU-10.
Det ser ut til at all tekst på displayet sendes som seriedata fra PIC, dette gir mening da nasjonalisering kun påvirker _en_ PROM. Mulig også derfor den trenger extern prom, det blir kanskje for mye text data å lagre. Ellers er det noen ganger enklere i produksjonen å plugge i en ferdiglaget prom i et ellers ukonfigurert kort en å brenne en uC.

Jeg bruker en ren RS232 converter (MAX203) der jeg lar ene 485 signalet drive logisk signal inn, (RS485 trenger GND i tillegg til de to linjene, linjene er inverterte men referert mot GND) lar RS232 siden gå til PC. Dette gir ikke isolasjon så det er ingenting jeg vil bruke over tid, men jeg hadde det liggende så det var enkelt.

Bruker hyperterminal satt til 19200:
Velger parity space får jeg mye lesbare data, typisk display text med tid, og noen binær data.
Turlednings temp.qpÀã7.0)°C÷Sp2.0
13:46 RpTurlednings temp.qÔp¤pÀã7.0)°C÷Sp2.0 13:46 RpTu
rlednings temp.qÔp¤Ôù kpÀã7.0)°C÷Sp2.0 13:47!RpTurlednings
temp.qÔp¤pÀã7.0)°C÷Sp2.0 13:47!RpTurle

(dette er listet ut med http://www.serial-port-monitor)
6C 65 64 6E 69 6E 67 73 20 74 65 6D 70 2E 00 71 lednings temp..q
06 D4 00 70 00 A4 00 70 03 00 00 C0 E3 37 2E 30 .Ô.p.¤.p...Àã7.0
29 B0 43 00 F7 06 53 00 70 15 32 2E 30 20 20 20 )°C.÷.S.p.2.0
20 20 20 20 20 20 20 20 20 31 33 3A 34 34 00 22 13:44."
06 52 00 70 12 54 75 72 6C 65 64 6E 69 6E 67 73 .R.p.Turlednings
20 74 65 6D 70 2E 00 71 06 D4 00 70 00 A4 00 70 temp..q.Ô.p.¤.p
03 00 00 C0 E3 37 2E 30 29 B0 43 00 F7 06 53 00 ...Àã7.0)°C.÷.S.
70 15 32 2E 30 20 20 20 20 20 20 20 20 20 20 20 p.2.0
20 31 33 3A 34 35 00 23 06 52 00 70 12 54 75 72 13:45.#.R.p.Tur
6C 65 64 6E 69 6E 67 73 20 74 65 6D 70 2E 00 71 lednings temp..q
05 06 D4 00 F9 07 07 09 11 13 45 15 02 74 00 70 ..Ô.ù.....E..t.p
03 00 00 C0 E3 06 51 00 70 0E 20 32 38 2E 35 28 ...Àã.Q.p. 28.5(
32 37 2E 30 29 B0 43 00 F7 06 53 00 70 15 32 2E 27.0)°C.÷.S.p.2.
30 20 20 20 20 20 20 20 20 20 20 20 20 31 33 3A 0 13:
34 35 00 23 06 52 00 70 12 54 75 72 6C 65 64 6E 45.#.R.p.Turledn
69 6E 67 73 20 74 65 6D 70 2E 00 71 ings temp..q

kommer som burst som repeteres med noen sekunders mellomrom.
Pakker ser ut til å starte med 06 + feks 51/52/53 + 00 + 70 men andre finnes også. 51 /52/53 kan da tenkes referert til linjenr i displayet. øverst står temp i stor text dette kommer trolig som binær data, så kommer på linjen under "turlednings temp" og på nederste linje "2.0 13:44"

Velger jeg parity mark får jeg noen få bytes per sekund med binær data 03 00 14 00 14 00 14 00 F9 06 03 00 14 00 14 00

På skop ser det ut til at data har:
startbit, 8xdata, parity (nesten alltid 0), og to stoppbit,
neste byte kommer så direkte med startbit.

Velger jeg NONE eller ODD får jeg ca samme som med MARK, med EVEN får jeg ingenting.

Synes dette (hvertfall delvis) bekrefter antagelsen om at pakker adresseres (og implisitt startes) med bytes fulgt av parity = 1, alle andre bytes ser ut til å ha parity satt til 0.
NB Koblet opp dette i går kveld så har ikke målt mye enda.

NB: jeg ser mer data på skop en jeg synes jeg får i hyperterminal...

VP har et meny valg for RCU, har satt den PÅ men har ikke lagt merke til noen endring i datastrømmen enda.

ligner dette på det som dere andre logger?

Författare:  cosmos [ 23.35 2007-09-12 ]
Inläggsrubrik: 

funnet ut litt mer nå.

Meldingen som utveksles antas å ha samme oppbygning for alle kilder så selv om display meldinger ikke direkte lærer oss hvordan evt logge data skal hentes ut bør det gi gode hint om formatene som brukes.

Om jeg skrur av RCU i menyen slutter VP å sende 00 0x14 med parity = 1
Jeg tolker dette som en request til RCU-10 (formodentlig med ID 0x14) til å svare.

har med digital skop samplet 50k samples over 500ms (10us rate) og dekodet for hånd alt sammen. (noen eksempler tatt med nedenfor)
bruker notasjonen med "p" etter byter med parity = 1
alle bytes er i hex, bruker "." for kort pause.

linjene med tekst som starter med 06 5x 00 70 har alltid rett før start
06 03p eller 00 F9p eller 00 F5p (disse ligger også spred rundt alene uten følgende data)
så følger meldingen, trolig til display, 5x er så langt jeg ser i gruppen 50, 51 ,52 53, eller 55 slik ser det ut samlet:

06 F9p . 06 50 00 70 YY DD DD DD CRC ........ 06 03p
(godt mulig siste 06 03p er urelatert til meldingen)

YY stemmer alltid overens med antall DD, CRC er en byte.

00 70 er muligens indikasjon av komando type, evt adressering.

der 5x er med ser det ut til at
50 er muligens symbolene øverst i display (3 bytes kun 2 bits er på som kan stemme bra i forhold til antall tente symboler)
51 gjelder stor tekst ca midt på displayet
52 er tekst til linjen nest nederst
53 er til nederst linje
55 vet jeg ikke enda.

teksten ser ut til å være terminert med 00 som vanlig for string håndtering.
har sett noen display relaterte meldinger der jeg tolker det som at det ikke alltid sendes strings men isteden binær verdier.

CRC:
Algoritmen for CRC er så langt jeg kan se til nå ikke checksum, selv om følgende eksempel først satte meg på den tanken.

00p F5p 06 55 00 70 02 44 2a 49 (fra F5 ? til 06? 2 byte DD CRC = 49)
så litt senere
00p F5p 06 55 00 70 02 44 2b 48 (samme som over men ene payload er endret fra 2a til 2b)

Da endret CRC seg også _en_ men motsatt vei, det er vanlig at checksums er inverter ved sending så om summen av data i pakken ble en større kunne det forklare at CRC ble en mindre.

meldingene over som starter "00p f5p" ser forøvrig ut til å være repetert, jeg antar det er fordi innholdet er kritisk for oprasjonen og 8 bit CRC (særlig om det er en checksum algoritme) ikke gir mye beskyttelse, full og korrekt repetisjon av hele pakken derimot gir svært mye bedre egenskaper.

det er også tegn som tyder på at når det sendes enkeltstående 06 03p så kommer 06 fra en kilde (tydelig lavere høyt nivå) og at 03p er fra en annen kilde som er sterkere.

Det kan se ut som det er bitfeil eller manglende bytes i loggen jeg postet i forrige mail, kabelen jeg bruker er ganske lang (synd å klippe en provisorisk bunt med kabel) og signal kvaliteten kunne vært bedre...

Författare:  FredRovers [ 20.28 2007-09-15 ]
Inläggsrubrik: 

8) Hög tid att släppa lite information om NIBEs RS485 protokoll 8)

Använd 19200, 9bit, N, 1.
All data är angivet i hex. En stjärna (*) före hexdata indikerar att bit 9 är satt.

Det finns fyra noder (adresser) i systemet:
14 RCU
24 Styrkort (Master)
F5 Reläkort
F9 Displaykort

Styrkortet adresserar noderna och det är bara för noderna att svara ACK eller ENQ. ACK om noden inte har något att meddela och ENQ om noden har något att meddela till styrkortet, det kan t.ex. vara en knapptryckning på displaykortet eller liknande. ACK=06 och ENQ=05. Det gäller dock att svara i tid!!!

Det som är av intresse är RCUns kommunikation. För att styrkortet ska adressera RCU (14) krävs att RCU aktiveras i meny i pannan. Om din panna inte har stöd för RCU så finns heller ingen meny för att aktivera RCU.

Styrkortet inleder varje adressering med *00. följt av en adress t.ex. *14 för RCUn.

:!: Exempel av läsning av parametrar.
När styrkorted adresserar RCUn enligt:
*00 *14
förväntar sig styrkortet ett svar. Om endast läsning av parametrar ska göras är det bara att svara med 06 d.v.s. ACK.
Styrkortet kommer då att skicka, tex:
C0 00 24 11 00 04 01 25 00 05 01 10 00 06 01 42 00 07 01 66 01 E5
C0 är det som man kan kalla cmd, det är olika för olika enheter men för RCUn är det alltid C0 men för displayen kan det vara tex 51 som betyder att datat är en textsträng som ska presenteras på översta raden, 52 andra raden 53 tredje raden.
00 skickas alltid efter cmd.
24 identifierar vem som skickar datat, dvs styrkortet i detta fallet.
11 är längden av datat som kommer efter ländbyten, 0x11=17. Obs! csum ej inkluderat.
00 första byten före en ny parameter är alltid 00.
04 parameterindex dvs parameter 4.
01 25 = data för parameter 4, 0x0125 (1/10°C)=29.3°C == Frånluftstemperatur för mif som har en 360p.
00 05 = parameterindex 05.
01 10 = 0x0110=27.2°C == Förångningstemp.
00 05 = parameterindex 06
01 42 ...
00 06 ...
01 66 ..
01 = I slutet kommer det ibland skräp. Det gäller att hålla koll på detta. Detta beror på att man kollar datalängden för sent när man skickar ut datat på RS-485. Datamängden är nämligen begränsad.
E5 = csum dvs XOR av allt från cmd till sista byten.

Nu är det inte alla parametrar som består av två bytes. Vissa parametrar består av endast en byte och vissa bytes eller bytepar kan vara bitfält. Jag antar att det ger sig om man börjar undersöka lite närmare för respektive pannmodell.

Efter att RCUn har tagit emot datat och kollat att csum stämmer ska den skicka 06 för att informera styrkortet om att den har tagit emot allt. Styrkortet kommer då att skicka *03 (ETX). Om det skulle visa sig att du får csum-fel skall 15 (NAK) skickas.

På detta sätt kommer styrkortet att gå igenom parameterindexen för att sedan börja om från början när man fått in alla. Däremellan skickars info till display och reläkort också. Det är bara att hålla koll på parameterindex och spara undan värdet på parametern.

:!: Exempel av skrivning av parametrar.
När styrkortet adresserar RCUn enligt:
*00 *14 ska RCUn svara 05 (ENQ) isf 06 (ACK). Styrkortet kommer då att svara 06 (ACK). RCUn ska då sända följande:
C0 00 14 (sender address) följt av antal bytes data du vill skicka.
Efter detta ska adress och data skickas, tex:
00 14 01 45.
XOR-summan skickar du efter att du skickat dina data bytes. XOR-summan ska räknas ut med allt som du sänder dvs c0 00 14 04 00 14 01 45.
När styrkortet tagit emot XOR-summan kommer den att skicka 06 (ACK) om XOR-summan var ok. Om styrkortet skickar 15 (NAK) så var det fel XOR-summa.
När RCUn fått in 06 (ACK) från styrkortet ska RCUn skicka *03 (ETX) och så är det färdigt. Observera att bit 9 skall vara satt när du skickar ETX.

Det finns endast parametrar som har en eller två bytes.

För min 360p så har jag lyckats lista ut följande:
Index Bytecount =Parameterdescription
=============================
00 01 =CPUid 0x20=360p, (0x72=1135)
01 02 =Utomhustemperatur
02 02 =Temp. varmvattengivare
03 02 =Avluftstemperatur
04 02 =Frånluftstemperatur
05 02 =Förångartemperatur
06 02 =Framledningstemperatur
07 02 =Returtemperatur
08 02 =Temp. Kompressorgivare
09 02 =Temp. Elpatrongivare
0a 02
0b 01 =Kurvlutning
0c 01 =Förskjutning värmekurva
0d 01
0e 02
0f 02
10 01
11 01
12 01
13 01 =Kompressordrift 0x02=på 0x00=av
14 02 =Fläkthastighet. bl.a. (1)
15 02 =Bl.a. driftläge (2)
16 02
17 02 =Strömförmrukning (maxfas)
18 02
19 02
1a 01
1b 02 =Antal starter kompressor
1c 02 =Drifttid kompressor
1d 02 =Tidfaktor elpatron
1e 01 =Maxtemp. framledning
1f 01 =Mintemp. framledning
20 01 =? ?Bitfält?
21 01 =Driftläge autodrift ?Bitfält?
22 01 =Kompensering yttre
23 01
24 01 =Intervall periodiskt XVV
25 02
26 01 =RCU-förskjutning värmekurva
27 01
28 01 =Larmnivå frånluftstemperatur
29 01 =year
2a 01 =month
2b 01 =day
2c 01 =hour
2d 01 =minute
2e 01 =second
2f 01

Nu lär det väl ta fart därute i stugorna, mycket nöje! :D

Författare:  cosmos [ 20.38 2007-09-15 ]
Inläggsrubrik: 

det er jo bare nydelig :)
mange takk

Författare:  hammer1975 [ 07.24 2007-09-18 ]
Inläggsrubrik: 

Hur påverkar egentligen det här med att man kör med nio databitar. Jag har hållit på en del med RS232/485 kommunikation men aldrig stött på att man använt just nio databitar. Jag har provat att koppla in mig på min Nibe 1230 och kör 19200,8,N,1 i Realterm, jag kan då bla se klartext informationen som skickas till displayen t.ex "Varmvattentemperatur" trots att jag kör med 8 databitar. Jag kollat på alla mina datorer och ingen av UARTarna klarar nio databitar.

Är det så att nio databitar endast används vid adressering och åtta när "vanlig" data skickas? Kanske nån skulle vilja förklara lite närmare hur detta funkar.

MVH, Magnus

Författare:  cosmos [ 08.28 2007-09-18 ]
Inläggsrubrik: 

Ja det anvendes bare ved adressering og det er ikke 9bit data felt, det er 8 bit + parity feltet

master i systemet sender en request (adresse) som nodene kan svare på.

Da sender master med
19200,8,M,1 ... bemerk M = Mark = 1

så svarer noden og den sender da med
19200,8,S,1 ... merk S = SPACE = 0

Författare:  sokrates [ 13.35 2007-09-19 ]
Inläggsrubrik:  9 bitar

hammer1975 skrev:
Hur påverkar egentligen det här med att man kör med nio databitar. Jag har hållit på en del med RS232/485 kommunikation men aldrig stött på att man använt just nio databitar. Jag har provat att koppla in mig på min Nibe 1230 och kör 19200,8,N,1 i Realterm, jag kan då bla se klartext informationen som skickas till displayen t.ex "Varmvattentemperatur" trots att jag kör med 8 databitar. Jag kollat på alla mina datorer och ingen av UARTarna klarar nio databitar.

Är det så att nio databitar endast används vid adressering och åtta när "vanlig" data skickas? Kanske nån skulle vilja förklara lite närmare hur detta funkar.


Jag skulle nog vilja hålla fast vid beskrivningen att kommunikationen använder 9 bitar. Dessa är uppdelade så att bit 0-7 innehåller kommandon, ascii text etc, medan bit 8 (den som i vanliga fall har rollen som paritetsbit) används för att signalera till alla enheter på bussen att bit 0-7 innehåller en enhetsadress.

En standard-UART har ingen ren 9-bitarsmode, men om man ställer in den på, tex, 8-bitar, udda paritet, så kan man lyssna efter 0x00 utan paritetsfel. Om nästföljande byte är 0x14 utan paritetsfel vet man att RCU:n blivit adresserad. Då är det ju, enligt det protokoll som FredRovers publicerat, dags att sända ACK. För sändning brukar det då gå att ställa in en standard-UART så att den håller paritetsbiten (= bit 8) fixerad till 0. På så vis går det alldeles utmärkt att använda en standard-UART för protokollet. Dock skall man alltså inte använda 8N1 eftersom man då riskerar att få framingfel.

Författare:  sokrates [ 13.46 2007-09-19 ]
Inläggsrubrik:  9 bitar

Förlåt, jag insåg att jag inte besvarat din fråga:

hammer1975 skrev:
Är det så att nio databitar endast används vid adressering och åtta när "vanlig" data skickas?


Nej, det är 9 bitar hela tiden. Bit 8 = 1 för att signalera adress, 0 annars.

Författare:  hammer1975 [ 07.49 2007-09-20 ]
Inläggsrubrik: 

Tack för informationen! Jag har börjat labba lite med ett program för att läsa ut data från Niben. Jag hittar "00 14" i dataströmmen och svarar tillbaka med 06 (19200,8,S,1). Jag får dock inget tillbaka från Niben vilket jag skulle få om jag förstår FredRovers beskrivning rätt. Har ni fått tillbaka nåt om ni skickar ack?

Nu kanske det har med min RS232 till 485 konverter som är av enklaste modell, jag kör med 1st 1kOhm mellan RX och TX på RS232 samt ett 1kOhm mellan Data- och GND på RS485, fanns en beskrivning på den i Allt om elektronik 2005/1.

Jag tänkte försöka bygga en bättre konverter efter denna beskrivning istället. Verkar rätt enkel även för en inte så elektronikinsatt person! http://aquaticus.info/rs485_to_rs232

MVH, Magnus

Författare:  cosmos [ 08.01 2007-09-20 ]
Inläggsrubrik: 

Du setter selvsagt RTS når du svarer 06?

Författare:  FredRovers [ 17.20 2007-09-20 ]
Inläggsrubrik: 

För min del så kör jag inte någon serieport på en PC, jag använder en uP och kör en av uartarna mot en Intersil 485-krets.

Författare:  cosmos [ 17.50 2007-09-20 ]
Inläggsrubrik: 

FredRovers: Har du lyst til å si litt mer om løsningen din?

...

Hva gjør du etter å ha lest inn data i uP?

...

Jeg tenkte også på å bruke en uP/uC, men ville prøve en PC først, hvis det fungerer bra er jo informasjonen kommet dit jeg vil ha det.

Litt usikker på om RTS styringen i PC reagerer raskt nok, det var ikke så mye tid etter 06 svaret til master begynner å sende om jeg minnes rett.
I så fall er vel løsningen enten autotiming på RS485 eller en uP/uC av noe slag.

Autotiming kan feks være en 74xx123 styrt av start flanken og som overtar styringen av RTS i en vanlig low cost 232 -> 485.
Timing kan stå fast siden formatet er kjent og baudrate like så.

Lastet ned PC compiler og leser meg opp på WIN API for seriecom.
Vil gjerne etter hvert ha en løsning med galvanisk skille så en uP med ethernet ville vært supert siden man da får skillet gratis i TP trafo.

Noen ide om hvor mye man kan trekke fra 5V evt. 12V på Nibes RS485 port?

Noen bra source for billige 232-> 485 convertere?
kan bygge en håndlaget lab modell selv, men er kjøpe greier billige nok gidder jeg ikke.

Författare:  hammer1975 [ 20.47 2007-09-20 ]
Inläggsrubrik: 

Den konverter jag kör använder ej RTS för växling av receive/trasmit. Enligt beskrivningen ska den växla automatiskt men jag tror inte det funkar mot Niben.

Jag ska beställa en MAX232 och MAX485 och se om kommunikationen blir bättre.

Författare:  FredRovers [ 19.15 2007-09-21 ]
Inläggsrubrik: 

Mer info om min implementation...

Jag plockar in alla parametrar och lagrar dem i en struct. På min andra UART kör jag RS-232 och kan skicka kommandon från en PC, t.ex. dumpa nuvarande parametrar eller sätt parameter. Jag loggar inte historiken utan sparar endast nuvarande värden. Det ligger senare i tiden att göra någon loggning, har dock begränsat med minne i min lösning om jag inte sätter dit ett SD-minne. Det som lockar är att få till en lösning mot nätverket.

Har också funderat på om man törs lasta NIBEs +5V och +12V, borde ju vara ganska bra kräm i dessa???

Ni som har andra modeller av pannor får gärna lägga upp motsvarande parametertabell så att vi kan identifiera alla parametrarna.

Författare:  cosmos [ 21.19 2007-10-06 ]
Inläggsrubrik: 

(edit: funnet noen flere og lagt til antall bytes, alt her er ikke 100% sikkert)

Her er dekodingsinfo for en annen type.

De før 40 som ikke er angitt varierer typisk men det er ikke så opplagt hva de er/indikerer, noen nr følger logisk av brukerhåndboken men er ikke verifiser (har ? etter)

nr etter 40 er stort sett statiske og er trolig limits og mindre brukte opsjoner

Dette er logget med nibe enhet der CPU har ID 0x70, tror dette er likt 1130 el. l.
bruker en auto timed RS485 (USB) driver, leser og dekoder alle telegrammer på bussen (dvs kan feks ha replika av display på PC skjermen) SW bruker kun std WIN API calls,
lagrer i struct alle 96*** verdier fra RCU og printer dem komma separert til stdout.
piper dette til fil og importerer til regneark.
Blir riktig vakre kurver, har ca 10 sec mellom hver struct dump.
Gjør ingen forsøk på å sette verdier (en så lenge)



    # bytes function
    1 1 CPU type/produkt (denne hikker (-24) ca hver time)
    2 2 VV temp
    3 1 Start temp VV
    4 1 VV stop
    5 1 VV minutter
    6 1 VV legionlla stop
    7 1 VV legionella intervall
    8 1 VV tid min.
    9 4 VV tid timer
    10 2 VB tur
    11 2 VB ønsket verdi
    12 1 Vamekurve?
    13 1 Forskyvning varmekurve?
    14 1 VB MIN?
    15 1 VB MAX?
    16 1 Kompensering giver?
    17 2 VB retur?
    18 1 VB retur MAX?
    19 2 grad minutter
    20 2 VB2 tur temp???
    21 2 VB2 ønsket temp
    22 1 VB2 kurve
    23 1 VB2 Forskyvning
    24 1 VB2 MIN
    25 1 VB2 MAX
    26 1 kompensering VB2
    27 2 Inne temp???
    28 2 ute temp
    29 2 KB retur avg.
    30 2 KB retur
    31 2 KB tur
    32 4 kompressor starter
    33 1 komp. time min
    34 4 komp tid timer
    35 2 Hetgas temp
    36 2 Væskeledningstemp
    37 2 Sugegasstemp
    38 2 Kondensator ut temp
    39 2 temp???
    40 2 temp???
    41 1
    42 1
    43 2
    44 2
    45 2
    46 1 TS EL minutter
    47 4 TS EL timer
    48 1
    49 1
    50 1
    51 1
    52 1
    53 1
    54 1
    55 1
    56 2
    57 1
    58 2 Relay VV prioritering ++
    59 1 Relay KB pumpe ++
    60 1 Relay kompressor ++
    61 2
    62 1
    63 1
    64 1
    65 1
    66 1
    67 1
    68 2
    69 2
    70 2
    71 2
    72 1
    73 1
    74 1
    75 1
    76 1
    77 1
    78 1
    79 1
    80 1
    81 1
    82 1
    83 1
    84 2
    85 2
    86 1
    87 1
    88 1
    89 1
    90 1
    91 1
    92 1
    93 1
    94 2
    95 2
    96 1

Författare:  cosmos [ 14.44 2007-10-15 ]
Inläggsrubrik: 

FredRovers:
Jeg ser i min logg at VP rebooter stadig vekk (litt varierende men gjerne en gang om dagen... ) fungere fint likevel, den bare glemmer gradminuttene den har spart opp, ser ok ut selv ved reboot midt i kompressordrift.
Funderer på om jeg ber den sende for mye data?
evt om PC ikke svarer raskt nok og skrur opp CPU..
evt om lang kabel til PC korrupter telegrammer så CPU restarter.

Hva gjør din?
Hvor ofte ber du om data?

Författare:  FredRovers [ 19.22 2007-10-17 ]
Inläggsrubrik: 

Jag har också lyckats att få pannan ar reboota men då har det nog varit jag som har skickat felaktigt data. Jag har faktiskt inte loggat under några längre tider så jag kan inte säga om jag får samma problem. När jag loggar så svarar jag 06 på alla adresseringar vilket blir maximal belastning. Du skulle ju kunna prova att endast svara var tionde sekund eller liknande för att se om det gör någon skillnad.

Författare:  hammer1975 [ 07.34 2007-10-21 ]
Inläggsrubrik: 

Nu har jag äntligen kommit en bit på vägen. Jag har skrivit ihop en kodsnutt som verkar fungera. Det var inte helt enkelt då jag är van att hålla på med protokoll som har start- och stopptecken i datapaketen. Jag har inte hunnit jämföra så många värdena med vilka menyer de motsvarar än men här är vad jag kommit fram till än så länge. Jag har en Nibe Fighter 1230.


Index Bytes Value Function

1 1 124 CPU ID 0x7C
2 2 471 1.0 VV temp
3 1 44 1.4 VV Start temp
4 1 54 1.5 VV Stop temp
5 1 65 1.6 Stopp XVV
6 1 55 1.7 Stopp XVV komp
7 1 14 1.8 XVV intervall
8 1 10 1.10 VV tid min.
9 4 315 1.10 VV tid timmar
10 2 351
11 2 347
12 1 9 2.1 Kurvlutning
13 1 0 2.2 Kurvförskjutn.
14 1 15 2.3 VB min
15 1 55 2.4 VB max
16 1 0 2.5?
17 2 342
18 1 53
19 2 18
20 2 32768
21 2 347
22 1 9
23 1 0
24 1 15
25 1 45
26 1 1
27 2 32768
28 2 72 4.0 Utetemp
29 2 31
30 2 40
31 2 41
32 4 251 5.6 Kompr. starter
33 1 24 5.9 Kompr. tid min.
34 4 61 5.9 Kompr. tid tim.
35 2 362
36 2 301
37 2 277
38 2 348
39 2 229 6.0 Rums temp
40 2 215 6.0 Rums temp inst.
41 1 25
42 1 20
43 2 0
44 2 0
45 2 0
46 1 28 9.1.3 TS El min.
47 4 165 9.1.3 TS El tim.
48 1 0
49 1 0
50 1 0
51 1 0
52 1 0
53 1 0
54 1 3
55 1 0
56 2 229
57 1 10
58 2 0
59 1 68
60 1 42
61 2 0
62 1 0
63 1 0
64 1 0
65 1 1
66 1 1
67 1 0
68 2 490
69 2 32768
70 2 2007
71 2 10
72 2 20
73 2 23
74 2 35
75 1 0
76 1 0
77 1 20
78 1 15
79 1 2
80 1 0
81 1 25
82 2 65436
83 2 65136
84 2 20
85 2 1
86 1 156
87 1 13
88 1 3
89 1 0
90 1 3
91 1 25
92 1 1
93 1 40
94 2 0
95 2 0
96 2 0
97 1 0
98 0 0
99 0 0
100 0 0

Författare:  cosmos [ 19.53 2007-10-22 ]
Inläggsrubrik: 

Følger på med litt mer info.

Antar etter dette at 1130 og 1230 er nærmest identiske.


Hadde noen feil, særlig i i "bytes" kolonnen som jeg fant da jeg sammenlignet med Hammer1975s data.

Index kolonnen starter på 0 i datasettet fra CPU (ikke 1 som her)
mulig vi bør starte listens index på 0, jeg greier hverfall å bli forvirret innimellom.

Dato og tid identifisert
gradminutt innslagene identifisert

Hammer1975 har noen verdier/sensorer? som jeg ikke har...
burde være mulig å rede ut hva de heter.
for eksempel:
56 (en temp?)
68 (også en temp?)

86 (-100) burde også være lett å finne.

edit: lagt til flere (86 er escalation verdi for økning av TS)
edit: endret 29 til "ute temp avg"

# (NB, offset 1, "CPU type" indexeres som 0 fra CPU)
# bytes RCU function
1 1 112 CPU type/produkt
2 2 536 VV temp
3 1 47 VV Start temp
4 1 54 VV Stop temp
5 1 60 XVV Stop temp
6 1 55 XVV Kompressor stop temp
7 1 14 XVV intervall (dager)
8 1 55 VV tid min.
9 4 60 VV tid timer
10 2 270 VB tur
11 2 300 VB ønsket verdi
12 1 5 Vamekurve
13 1 1 Forskyvning
14 1 15 VB MIN
15 1 55 VB MAX
16 1 1 Kompensering giver
17 2 272 VB retur?
18 1 53 VB retur MAX?
19 2 17 grad minutter
20 2 -32768 VB2 tur temp???
21 2 350 VB2 ønsket temp
22 1 9 VB2 kurve
23 1 0 VB2 Forskyvning
24 1 15 VB2 MIN
25 1 45 VB2 MAX
26 1 0 kompensering VB2
27 2 -32768 Inne temp???
28 2 82 ute temp
29 2 86 ute temp avg. (endret fra KB temp avg)
30 2 107 KB retur
31 2 92 KB tur
32 4 425 kompressor starter
33 1 56 komp. time min
34 4 176 komp tid timer
35 2 357 Hetgas temp
36 2 269 Væskeledningstemp
37 2 236 Sugegasstemp
38 2 273 Kondensator ut temp
39 2 0 Rom temp
40 2 0 Rom temp set
41 1 25 Sommermodus???
42 1 20 Vintermodus???
43 2 0
44 2 0
45 2 0
46 1 52 TS EL minutter
47 4 3 TS EL timer
48 1 0
49 1 0
50 1 0
51 1 0
52 1 0
53 1 0
54 1 1
55 1 0
56 2 -32768 temp??? (hammer1975 22.9???)
57 1 10
58 2 0 Relay VV prioritering
59 1 64 Relay KB pumpe
60 1 42 Relay kompressor ++
61 2 0
62 1 0
63 1 0
64 1 0
65 1 1
66 1 1
67 1 0
68 2 -32768 temp??? (hammer1975 49.0???)
69 2 -32768
70 2 2007 år
71 2 10 måned
72 2 22 dag
73 2 19 time
74 2 5 minutt
75 1 0
76 1 0
77 1 20 Språk??? (20 er i så fall norsk)
78 1 15 Display Kontrast
79 1 2 Display Intensitet
80 1 0
81 1 25
82 2 -125 kompressor innslag gradmin
83 2 -400 EL innslag gradmin
84 2 25
85 2 1
86 1 -100 Diff TS EL element trinn
87 1 13 VB diff VP???
88 1 3 VB VP-TS ???
89 1 0
90 1 3 Tidsperiode 1 (gulvtørk)
91 1 25 Temp Periode 1
92 1 1 Tidsperiode 2 (gulvtørk)
93 1 40 Temp Periode 2
94 2 0
95 2 0

Författare:  cosmos [ 21.38 2007-10-28 ]
Inläggsrubrik: 

Litt mer oppdatering
Takk til Nibe for RCU logfiler med alle felt angitt i rekkefølge (nesten)
Litt usikker på alarm felter bare.
NB NB indexerer nå fra 0 og opp,
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
0   1   112   CPU type/produkt
1   2   461   M1.0 : Temp. varmvattengivare
2   1   47   M1.4 : Start varmvatten
3   1   54   M1.5 : Stopp varmvatten
4   1   60   M1.6 : Stopp extra varmvatten
5   1   55   M1.7 : Stopp kpr extra varmvatten
6   1   14   M1.8 : Intervall periodiskt XVV
7   1   11   M1.10 : Drifttid varmvatten (min)
8   4   67   M1.10 : Drifttid varmvatten (h)
9   2   471   M2.0 : Framledningstemperatur
10   2   330   M2.0 : Beräknad framledningstemp
11   1   5   M2.1 : Kurvlutning
12   1   1   M2.2 : Förskjutning värmekurva
13   1   15   M2.3 : Mintemp. framledning
14   1   55   M2.4 : Maxtemp. framledning
15   1   1   M2.5 : Kompensering yttre
16   2   470   M2.7 : Returledningstemperatur
17   1   53   M2.7 : Max returtemperatur
18   2   11   M2.8 : Gradminuter
19   2   -32768   M3.0 : Framledningstemperatur 2
20   2   400   M3.0 : Beräknad framledningstemp 2
21   1   9   M3.1 : Kurvlutning 2
22   1   0   M3.2 : Förskjutning värmekurva 2
23   1   15   M3.3 : Mintemp. framledning 2
24   1   45   M3.4 : Maxtemp. framledning 2
25   1   0   M3.5 : Kompensering yttre 2
26   2   -32768   M3.7 : Returledningstemperatur 2
27   2   40   M4.0 : Utomhustemperatur
28   2   52   M4.1 : Medelutomhustemperatur
29   2   53   M5.0 : Köldbärare in
30   2   54   M5.0 : Köldbärare ut
31   4   463   M5.6 : Antal kompressorstarter
32   1   31   M5.9 : Drifttid Kompressor (min)
33   4   200   M5.9 : Drifttid Kompressor (h)
34   2   487   M5.11 : Hetgastemperatur
35   2   434   M5.12 : Vätskeledningstemperatur
36   2   97   M5.13 : Suggastemperatur
37   2   477   M5.14 : Temperatur efter kondensor
38   2   0   M6.0 : Rumstemperatur
39   1   0   M6.0 : Inställd Rumstemperatur
40   1   25   M8.2.1 : Sommarlägetemperatur
41   1   20   M8.2.1 : Vinterlägetemperatur
42   2   0   M8.3.1 : Strömförbrukning  L1
43   2   0   M8.3.2 : Strömförbrukning  L2
44   2   0   M8.3.3 : Strömförbrukning  L3
45   1   21   M9.1.3 : Drifttid Tillsats (min)
46   4   4   M9.1.3 : Drifttid Tillsats (h)
47   1   0   M9.2.4 : Endast tillsats
48   1   0   M9.2.5 : Shuntgrupp  2
49   1   0   M9.2.9.1 : Golvtork
50   1   0   M9.2.10 : Poolstyrning
51   1   0   M9.2.16 : Kylsystem
52   1   0   M10 : Driftläge
53   1   1   M20 : Extra varmvatten
54   1   0   Kompensering yttre
55   2   -32768   6.1 : Rumskompensering
56   1   10   Hög returtemperatur
57   2   16384   Maxtemp kondensor VB
58   1   100   Cirkulationspump 1
59   1   43   Cirkulationspump 2
60   2   0   Tillsats 1
61   1   0   Tillsats 2
62   1   0   Varmvattenladdning
63   1   0   Kompressor
64   1   1   Driftläge KB-pump
65   1   1   Poolladdning
66   1   0   Kylning
67   2   -32768   RCU-förskjutning värmekurva 1
68   2   -32768   RCU-förskjutning värmekurva 2
69   2   2007   år
70   2   10   måned
71   2   26   dag
72   2   10   time
73   2   10   minutt
74   1   0   M9.2.13.4 : Temperatur panna
75   1   0   M1.11.1 : Pooltemperatur
76   1   20   M1.11.1 : Inställd Pooltemperatur
77   1   15   M1.11.2 : Diff. Pool
78   1   2   M2.9.1 : Kylkurva
79   1   0   M2.9.2 : Förskjutning kylkurva
80   1   25   M2.9.3 : Utetemperatur start kyla
81   2   -125   M5.4 : Startvärde kompressor
82   2   -400   M9.1.1 : Startvärde tillsats
83   2   25   M8.3.4 : Säkringsstorlek
84   2   1   M8.3.5 : Max antal elsteg
85   1   -100   M9.1.2 : Diff tillsatssteg
86   1   13   M9.2.2 : VB diff VP
87   1   3   M8.2.1 : Diff VP-TS
88   1   0   alarm?
89   1   3   M9.2.9.2 : Antal dagar period 1
90   1   25   M9.2.9.3 : Max temperatur period 1
91   1   1   M9.2.9.4 : Antal dagar period 2
92   1   40   M9.2.9.5 : Max temperatur period 2
93   2   0   HPAC Aktiv
94   2   0   HPAC Passiv
95   2   0   alarm?
96   1   0   alarm?

Författare:  mikkola [ 09.16 2007-12-06 ]
Inläggsrubrik: 

Väcker lite liv i denna tråd igen :)

Är det någon som fått till ändring av värden i värmepumpen?

Går denna att koppla in mellan pump och datorns rs232?

http://www.elfa.se/elfa-bin/setpage.pl? ... 012384.htm

http://www.advantech.com/products/Isola ... 3HZ1P.aspx

Om den går att använda, kopplar jag då in data pinnarna mot varandra (VP pinne 1 minus till data0 minus på adam samt VP pinne 2 plus till data0 plus på adam)

Ska dataformatet på ADAM ställas in på 9 bitar?

Kan jag ta ut 12V matning från pinne 3 eller 4 på VP till ADAM?


Mycket frågor för en sk. nybörjare :)

Författare:  cosmos [ 10.40 2007-12-06 ]
Inläggsrubrik: 

Jeg tror det går fint å koble den til.
Det som er spørsmålet er om PC er rask nok til å endre RTS etter at ACK er sendt. (oops ADAM-4520 er autotimed... så glem RTS problemer med den)
VP svarer ganske kort etter ACK og innen da må RTS ha byttet polaritet slik at linjen er fri igjen.
Også muligens et lite spørsmål om 12V fra VP klarer å drive ADAM boksen, det kan gå bra, den drar 1.2W dvs ca 100mA på 12V.
Jeg måtte vende RS485 linjen (bytte + og - linje) for å få riktig funksjon, Display og knapper sluttet å respondere med feil polaritet så det var lett å oppdage.


Selv kjøpte jeg denne:
http://www.usconverters.com/rs232_rs485iso.html
230NOK levert i postkassen uten toll eller MVA på under en uke (200 NOK grense på importerte varer eksl. frakt før MVA beregnes).
Den er isolert og autotimet så RTS er ikke et problem lenger.
Den skal bare ha GND, RX og TX på RS232 siden.
Mater den fra 5V på VP, var ikke målbart dropp i 5V etter innkobling.
Denne har fungert problemfritt, brukte 10 min på å koble den inn ikke rørt noe etter det. :)

Reboot problemene jeg så tidligere i VP var en feil i mitt program :oops: , loggingen min går nå stort sett 24/7.
I den grad det er problemer er det en sjelden gang (en gang i uka?) at programmet krasjer og blir avsluttet (OS detekterer en pointer på avveie tror jeg)


Jeg har ikke prøvet å endre verdier, men FredRovers kan tydeligvis og har forklart hvordan han gjør.
" På min andra UART kör jag RS-232 och kan skicka kommandon från en PC, t.ex. dumpa nuvarande parametrar eller sätt parameter."
og
"Exempel av skrivning av parametrar.
När styrkortet adresserar RCUn enligt:
*00 *14 ska RCUn svara 05 (ENQ) isf 06 (ACK). Styrkortet kommer då att svara 06 (ACK). RCUn ska då sända följande:
C0 00 14 (sender address) följt av antal bytes data du vill skicka.
Efter detta ska adress och data skickas, tex:
00 14 01 45.
XOR-summan skickar du efter att du skickat dina data bytes. XOR-summan ska räknas ut med allt som du sänder dvs c0 00 14 04 00 14 01 45.
När styrkortet tagit emot XOR-summan kommer den att skicka 06 (ACK) om XOR-summan var ok. Om styrkortet skickar 15 (NAK) så var det fel XOR-summa.
När RCUn fått in 06 (ACK) från styrkortet ska RCUn skicka *03 (ETX) och så är det färdigt. Observera att bit 9 skall vara satt när du skickar ETX.
"

Författare:  mikkola [ 17.23 2007-12-07 ]
Inläggsrubrik: 

Vet inte om jag törs erkänna det men det gick på tok. Om det var ADAM som hade ihjäl CPUn eller om det var jag som kopplade fel vet jag inte, törs inte prova igen :) Nog dyrt att köra på nödläge i 1 dygn.

Om man som jag, inte törs pilla på sin pump nå mer så finns denna snart:
http://www.husdata.se/news.asp?ID_News=30

Författare:  blueint [ 17.27 2007-12-07 ]
Inläggsrubrik: 

Och priset? :D

Författare:  cosmos [ 17.52 2007-12-07 ]
Inläggsrubrik: 

mikkola skrev:
Vet inte om jag törs erkänna det men det gick på tok. Om det var ADAM som hade ihjäl CPUn eller om det var jag som kopplade fel vet jag inte, törs inte prova igen :) Nog dyrt att köra på nödläge i 1 dygn.

Om man som jag, inte törs pilla på sin pump nå mer så finns denna snart:
http://www.husdata.se/news.asp?ID_News=30


Hva gjør den nå da, evt når den feiler?
Hvordan vet du at CPU er død?
Dyrt å kjøre nödläge i et døgn??? om CPU er død koster vel nytt kort betydelig mer en det strømmen koster?
Har du kontrollert 12V og 5V med multimeter?
Om det ikke var permanent skade tipper jeg du overbelastet 12V, 100mA kan godt være for mye.
Er vanskelig å se for seg hvordan feilkobling av linjen skal være destruktivt.
(så lenge 12V ikke kortsluttes noe sted)

Har selv ved noen tilfeller koblet feil på linje signalene (kortsluttet seg imellom og til GND)
uten at det har hatt andre effekter en spontan reboot av VP eller manglende respons på display.
Har vært veldig forsiktig med med 5V og 12V signalene,
der tror jeg ikke det er like robust.

Författare:  mikkola [ 18.16 2007-12-07 ]
Inläggsrubrik: 

När jag satte på pumpen efter att ha haft ADAM inkopplad så stod det bara "connecting " på displayen samt att kommunikationslampan på CPU kortet var död. Stora reläkortet och displayen var ok iaf.

Ringde till närmaste serviceombud och så fick jag åka å hämta en ny CPU för att prova, och det fungerade.

Jag mätte upp den trasiga CPUn och där det skulle vara 12V hade jag bara ca:6V. 5V var ok. Jag skulle också tippa på att det var 12V som blev överbelastad men törs inte prova med den nya CPUn :?

Köper ett interface av husdata istället :)

Författare:  umh [ 08.48 2008-01-11 ]
Inläggsrubrik: 

Hej.

Jag har skaffat mig en RS-485->RS-232 adapter och den funkar bra.
Får även in data till mitt PC program korrekt förrutom en sak.

Problemet är att 3F skickas efter varje instruktion eller data.
Varför blir det så? Jag kan filtrera bort 3F men då blir det problem ifall 3F förekommer i Värden och instruktiioner.

00 3F 00 5E 3F 00 00 3F 00 5F 3F 25 00 3F B8 3F

Någon som varit med om detta?
/Lasse

Författare:  cosmos [ 10.18 2008-01-11 ]
Inläggsrubrik: 

Har ikke sett noe slikt nei.

Hvis du bruker realterm til å se på trafikken inn ... hva ser du da?
Er dette virkelig data som ligger på linjen eller er det noe som opptrer etter mottak?
Har du evt. litt mer logge data så vi ser hele telegrammer + 3F?

Författare:  umh [ 10.36 2008-01-11 ]
Inläggsrubrik: 

Hej och tack för svar

Jag kör ett VB program med dessa inställningar

.MSCommCAN.CommPort = ComPortNo
.MSComm.Settings = "19200,M,8,1"
.MSComm.InputLen = 1
.MSComm.InputMode = comInputModeText
.MSComm.RThreshold = 1

Använder SerialSniffer för att titta på inkommet rådata och det ser likadant ut som det jag får in till programmet.


Port opened by process "VB6.EXE" (PID: 1912)

00 F5 06 3F 55 00 3F 7A 02 3F 54 2B 3F 52 06 3F .õ.?U.?z.?T+?R.?
03 00 F5 06 55 3F 00 7A 3F 02 54 3F 2B 52 3F 06 ..õ.U?.z?.T?+R?.
03 00 F9 3F 06 03 3F 00 14 C0 3F 00 7A 3F 0F 00 ..ù?..?..À?.z?..
3F 12 FC 3F E0 00 3F 13 80 3F 00 00 3F 14 01 3F ?.ü?à.?.€?..?..?
A4 00 3F 15 09 3F 85 3F 03 00 F9 06 3F 03 00 14 ¤.?..?…?..ù.?...
C0 3F 00 7A 3F 10 00 3F 16 00 3F 00 17 3F 0F 00 À?.z?..?..?..?..
3F 18 2D 3F 00 19 3F 00 00 3F 1A 04 3F 20 B6 3F ?.-?..?..?..? ¶?
00 F5 06 3F 55 00 3F 7A 02 3F 54 2B 3F 52 06 3F .õ.?U.?z.?T+?R.?
03 00 F5 06 3F 55 00 3F 7A 02 3F 54 2B 3F 52 06 ..õ.?U.?z.?T+?R.
3F 03 00 F9 06 03 3F 00 F9 06 3F 51 00 3F 7A 0C ?..ù..?.ù.?Q.?z.
3F 52 65 3F 74 75 3F 72 67 3F 69 76 3F 61 72 3F ?Re?tu?rg?iv?ar?
65 00 3F 6D 06 3F 03 00 14 C0 3F 00 7A 3F 10 00 e.?m.?...À?.z?..
3F 1B 00 3F 05 00 3F 1C 00 3F 05 00 3F 1D 00 3F ?..?..?..?..?..?
19 00 3F 1E 00 3F 08 BF 3F 00 F5 06 3F 55 00 3F ..?..?.¿?.õ.?U.?
7A 02 3F 54 2B 3F 52 06 3F 03 00 F5 06 3F 55 00 z.?T+?R.?..õ.?U.
3F 7A 02 3F 54 2B 3F 52 06 3F 03 00 F9 06 3F 03 ?z.?T+?R.?..ù.?.
00 14 C0 3F 00 7A 3F 0F 00 3F 1F 00 3F 00 00 3F ..À?.z?..?..?..?
0B 00 3F 20 06 3F 00 21 3F 00 00 3F 03 B3 3F 16 ..? .?.!?..?.³?.
3F 00 F9 06 3F D4 00 3F 7A 00 3F AE 3F 05 3F 06 ?.ù.?Ô.?z.?®?.?.
D4 3F 00 F9 3F 07 08 3F 01 11 3F 10 33 3F 30 01 Ô?.ù?..?..?.3?0.
3F 20 06 3F 03 3F 00 F9 06 3F 03 00 F9 06 3F 03 ? .?.?.ù.?..ù.?.
00 F9 06 3F 03 00 F9 06 3F 50 00 3F 7A 03 3F CA .ù.?..ù.?P.?z.?Ê
00 3F C8 2B 3F 06 03 00 F5 06 3F 55 00 3F 7A 02 .?È+?...õ.?U.?z.
3F 54 2B 3F 52 06 3F 03 00 F5 06 55 3F 00 7A 3F ?T+?R.?..õ.U?.z?
02 54 3F 2B 52 3F 06 03 00 F9 06 3F 03 00 14 C0 .T?+R?...ù.?...À
3F 00 7A 3F 10 00 3F 22 80 3F 00 00 3F 23 80 3F ?.z?..?"€?..?#€?
00 00 3F 24 80 3F 00 00 3F 25 80 3F 00 AA 3F 00 ..?$€?..?%€?.ª?.
F5 05 3F 06 45 3F 00 F5 3F 01 02 3F B3 06 3F 03 õ.?.E?.õ?..?³.?.
00 F5 3F 06 55 3F 00 7A 3F 02 54 3F 2B 52 3F 06 .õ?.U?.z?.T?+R?.
03 00 F5 06 3F 55 00 3F 7A 02 3F 54 2B 3F 52 06 ..õ.?U.?z.?T+?R.
3F 03 00 F9 06 3F 03 00 14 C0 3F 00 7A 3F 0E 00 ?..ù.?...À?.z?..
3F 26 00 3F 00 00 3F 27 00 3F 00 00 3F 28 19 3F ?&.?..?'.?..?(.?
00 29 3F 14 B9 3F 00 F5 06 3F 55 00 3F 7A 02 3F .)?.¹?.õ.?U.?z.?
54 2B 3F 52 06 3F 03 00 F5 06 3F 55 00 3F 7A 02 T+?R.?..õ.?U.?z.
3F 54 2B 3F 52 06 3F 03 00 F9 06 03 3F 00 F9 06 ?T+?R.?..ù..?.ù.
3F 51 00 3F 7A 0B 3F 20 20 3F 20 20 3F 32 31 3F ?Q.?z.? ? ?21?
2E 37 3F B0 43 3F 00 C9 3F 06 03 00 F9 3F 06 3F .7?°C?.É?...ù?.?
53 00 3F 7A 15 3F 31 2E 3F 30 20 3F 20 20 3F 20 S.?z.?1.?0 ? ?
20 3F 20 20 3F 20 20 3F 20 20 3F 20 31 3F 30 3A ? ? ? ? 1?0:
3F 33 33 3F 00 28 3F 06 03 00 F9 3F 06 3F 52 00 ?33?.(?...ù?.?R.
3F 7A 15 3F 56 61 3F 72 6D 3F 76 61 3F 74 74 3F ?z.?Va?rm?va?tt?
65 6E 3F 74 65 3F 6D 70 3F 65 72 3F 61 74 3F 75 en?te?mp?er?at?u
72 3F 00 00 3F 06 03 00 14 3F C0 3F 00 7A 3F 0F r?..?....?À?.z?.
00 3F 2A 00 3F 00 00 3F 2B 00 3F 00 00 3F 2C 00 .?*.?..?+.?..?,.
3F 00 00 3F 2D 26 3F 93 3F 00 F5 06 3F 55 00 3F ?..?-&?“?.õ.?U.?
7A 02 3F 54 2B 3F 52 06 3F 03 00 F5 06 55 3F 00 z.?T+?R.?..õ.U?.
7A 3F 02 54 3F 2B 52 3F 06 03 00 F9 3F 06 03 3F z?.T?+R?...ù?..?
00 14 C0 3F 00 7A 3F 0F 00 3F 2E 00 3F 00 04 3F ..À?.z?..?..?..?
40 00 3F 2F 00 3F 00 30 3F 00 00 3F 31 00 3F F1 @.?/.?.0?..?1.?ñ
3F 00 F9 06 3F 03 00 14 C0 3F 00 7A 3F 0F 00 3F ?.ù.?...À?.z?..?
32 00 3F 00 33 3F 00 00 3F 34 00 3F 00 35 3F 02 2.?.3?..?4.?.5?.
00 3F 36 00 3F 81 3F 00 F5 06 3F 55 00 3F 7A 02 .?6.??.õ.?U.?z.
3F 54 2B 3F 52 06 3F 03 00 F5 06 3F 55 00 3F 7A ?T+?R.?..õ.?U.?z
02 3F 54 2B 3F 52 06 3F 03 00 F9 06 3F 03 00 14 .?T+?R.?..ù.?...
C0 3F 00 7A 3F 0E 00 3F 37 80 3F 00 00 3F 38 0A À?.z?..?7€?..?8.
3F 00 39 3F 23 02 3F 00 3A 3F 54 47 3F 00 F9 06 ?.9?#.?.:?TG?.ù.
3F 03 00 14 C0 3F 00 7A 3F 10 00 3F 3B 2B 3F 00 ?...À?.z?..?;+?.
3C 3F 00 00 3F 00 3D 3F 00 00 3F 3E 00 3F 00 3F <?..?.=?..?>.?.?
3F 00 BA ?.º

Port closed

Filtrera jag bort 3F så fungera allt helt korrekt men som sagt då missar jag allt data som har värdet 3F.

Författare:  umh [ 10.45 2008-01-11 ]
Inläggsrubrik: 

Hej igen.

Ser i RealTerm att där visas allt korrekt.
Måste vara felinställt i MSComm inställningarna eller något problem med den kontrollen. Jag kollar upp detta.
Tack för hjälpen.
/Lasse

Nu Fungerar det.
Jag hade "Parity Replace" satt till ett tecken.

/L

Författare:  FredRovers [ 19.59 2008-01-12 ]
Inläggsrubrik: 

Går det att stänga av parity replace i .NET eller hur gjorde du. Jag har kört med 19200,8,N,1 istället men då blir det ju problem med att hitta den inledande 0x00 men det går ju oftast bra att synka in ändå.

/Fred

Ah, nu hitta de jag det:
"If the value is set to the null character, parity replacement is disabled."
Men man får ju ändå inte ut biten iaf...
/Fred

Författare:  DMaiworm [ 23.06 2008-03-25 ]
Inläggsrubrik:  Great info, but maybe an English translation would help...

Hi everyone!

Apologies for wasting my time in school with French - I really should have learned Swedish instead. It seems that you have successfully decrypted a major part of the Nibe RCU protocol.

Actually there are a number of threads in Austrian/German/Swiss Forums dicussing the ability to hook up a Nibe Fighter with an "EIB/KNX" Home Automation system or control it via a PC UI.

I believe that if someone could create an English description of the results you have found, there might be more resources that can help with a PC or Home Automation control for Nibe devices than within this Forum alone.

It would be great if we could share the information with more Nibe Owners across Europe. Being a software engineer myself, I am ready to contribute to the project, but the issue for me is that I simply cannot ask back in Swedish.

So maybe someone can organize the information within a PDF document and then we can check if there is a way of coordinating the efforts internationaly.

Kind regards and all the best!

Daniel

Författare:  blueint [ 23.27 2008-03-25 ]
Inläggsrubrik: 

Maybe if you have a electronics wiki we could put something there?

Författare:  DMaiworm [ 23.43 2008-03-25 ]
Inläggsrubrik: 

Hmm, good idea... Let me setup something from the office tomorrow. I should be able to setup a project page!

d

Författare:  mrfrenzy [ 00.22 2008-03-26 ]
Inläggsrubrik: 

I think this would be an excellent wiki to use :)
http://www.elektronikforumet.com/wiki/i ... =Main_Page (it uses the forum login credentials)
I'm following this thread closely since I have a relative with a Nibe that I'm looking forward to interface, maybe one of the people who have contributed to the thread can make an English summary.

Författare:  DMaiworm [ 10.09 2008-03-26 ]
Inläggsrubrik: 

In theory yes,

but what keeps me away from it, is that you need to understand Swedish to register with this Forum. I had forgotten to fill out my "City/Place" and the error messages were all Swedish. So let me see if I can find a forum where you can apply and register in English so that people are not giving up before they start.


Daniel

Författare:  mrfrenzy [ 10.20 2008-03-26 ]
Inläggsrubrik: 

Aah I see, really impressive you found out about the 'City' part, several Swedish users have had problems with that ;)

If you don't find any existing english speaking electronics-wiki/forum availible I can put one up real quick for the purpose (making you admin because I don't have time to moderate it).

Författare:  DMaiworm [ 10.22 2008-03-26 ]
Inläggsrubrik: 

Go ahead! For me it would be publishing a Sharepoint website just for this fourm - maybe a bit too much for this purpose!

Daniel

Författare:  mrfrenzy [ 10.49 2008-03-26 ]
Inläggsrubrik: 

DMaiworm: I sent you a private message, you can read them here:
http://elektronikforumet.com/forum/priv ... lder=inbox

Författare:  Tnemrap [ 15.18 2008-09-02 ]
Inläggsrubrik: 

Har precis köpt en NIBE 1235.

Skulle vilja börja samla in data på PC´n för att optimera installningarna.

Någon som provat någon RS-485 - USB adapter?

Någon som har lite VB kod att dela med sig av :) .


/Mike

Författare:  hammer1975 [ 11.15 2009-08-16 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Detta kanske är gammal information men Nibe verkar ha släppt en komplett protokollbeskrivning på deras hemsida med bla beskrivning av alla register, mycket intressant läsning!

http://www.nibe.se/Fastighetsguiden/Ber ... protokoll/

/Magnus

Författare:  blueint [ 16.07 2009-08-16 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Bättre sent än aldrig?, undrar vad som behövdes för att göra detta ;)

Finns ett demo på:
http://fighter1230.nibe.se/

Användarnamn: nibedemo
Lösenord: nibedemo

Författare:  ejohsjo [ 19.02 2009-08-16 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

IVT köpte upp Husdata och erbjuder sen i höstas med en liknande tjänst, dvs en på internet.
IVT's kostar pengar vet inte hur det är med Nibe?

Författare:  blueint [ 19.23 2009-08-16 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

IVTs specifikation?

Författare:  Tnemrap [ 06.37 2009-08-17 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

blueint skrev:
Bättre sent än aldrig?, undrar vad som behövdes för att göra detta ;)

Finns ett demo på:
http://fighter1230.nibe.se/

Användarnamn: nibedemo
Lösenord: nibedemo


Det är bara deras produkt som heter RCU 11.

/Mike

Författare:  Loner [ 13.43 2009-11-10 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej!

Hur är status på detta projekt, pratade nyss med min nibe-säljare och han tipsade mig om att det fanns "hack" på hur man kunde logga värden ur sin Nibe-panna, utan att behöva köpa en dyr RCU11.

har ni knäckt bussen och protokollet?

/L

Författare:  micklen [ 10.20 2009-11-21 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Vad var det för hack?

Sade han vad som behövdes?

//carl

Författare:  Loner [ 08.23 2009-11-24 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Sök på nibe och rs485 så hittar du en del.
Det man får göra är att ansluta en RS485 > RS2332 konverter och skriva sitt eget program,
själv hoppas jag att jag har tid att provköra min lösning i julhelgen.

/L

Författare:  margre [ 23.02 2010-02-14 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag har en NIBE 360p med version 1.24b. Det finns inget menyval för RCU.
När jag kopplar in mig på displaykortet (RJ45) så skickas det massor av data. Bland annat kan jag se den text som skickas till displayens olika rader.
Men om jag kopplar in mig på CPU-Styr kortet (RJ11), så får jag ingen data.
Är programvaran i pumpen för gammal?
Kan man använda någon av portarna för att läsa av värden i pumpen?

Författare:  Loner [ 08.39 2010-02-15 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Mysko, nån som har en 360p uppkopplad?

Va djag vet så skall man kunna sätta en RCU på just 360'n till skillnad från 310an..

/U

Författare:  FormerMazda [ 20.09 2010-02-15 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Skulle nån vara sugen på en RCU 10 så kanske jag har en.. :wink:
Googla för mer info.

Annars får jag säga att NIBE verkar vara bra mycket snällare än IVT när det kommer till att kommunicera med pumpen.
Nu vet jag inte protokollet nibe kör med, men vad jag hört så ska det vara rätt smidigt mot IVT's.

Författare:  Loner [ 13.50 2010-03-01 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Nibe's protokoll är inte direkt roligt, men det funkar. Enligt uppgift skall man inte kommunciera med IVT för ofta, då orkar inte CPUn med reglerlooparna :roll:

Vad skall du ha för RCUn då?

/L

Författare:  blueint [ 14.17 2010-03-01 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Inte för ofta.. :doh: :D

Har du protokollet dokumenterat?

Författare:  Loner [ 14.26 2010-03-01 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

mmm citat från IVT/Bosch:
"Detta interface används bara i produktionen och ev. för felsökning. Om man t.ex. frågar regon för frekvent så påverkar det funktionen för regleringen då CPU'n inte hänger med."

Kolla här:
http://rago600.sourceforge.net/

/L

Författare:  bamsejon [ 12.03 2010-03-28 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag har en RCU-10, jag är mest ute efter att bara kunna hämta värderna för den, men jag är tokdålig på modbus. Ville hämta värdena och lägga in dom i en databas.

Författare:  Loner [ 19.38 2010-03-28 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Men hur är dina programmeringskunskaper då?

Jag kan nog hjälpa dig, modbustcp är ganska enkelt.

/L

Författare:  JonasK [ 13.17 2010-12-01 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Har en Nibe 360P och en RS485-USB adapter, och har tänkt att logga mätdata via Nibes RS485 interface. Har googlat men inte hittat en komplett lista över vilka mätvärden man får ut. Är det någon som har en komplett lista?

Är det någon som har ett lämpligt loggprogram som regelbundet läser ut mätdata till fil?

Författare:  JonasK [ 21.49 2010-12-13 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Ingen större aktivitet här... Efter lite detektivarbete har jag kommit fram till nedanstående. Har ännu inte listat ut var parameter 0x25 och 0x2F är. Någon som vet?

Temperaturvärdena 0x0A, 0x0E och 0x0F hör till extrautrustning som jag inte har inkopplat. 0x0E och 0x0F är gissningsvis framledning- resp returtemperatur för värmesystem 2.
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
00:      36  CPUid
01:   -12,4  M4.0 Utetemperatur
02:    53,2  M1.0 Temp. VV-givare
03:     0,7  M5.1 Avluftstemperatur
04:    20,8  M5.2 Frånluftstemperatur
05:     1,5  M5.0 Förångningstemp.
06:    28,5  M2.0 Framledningstemp.
07:    26,6  M2.6 Returtemperatur
08:    43,3  M1.1 Temp. kompr. givare
09:    48,1  M1.2 Temp. elpatrongivare
0A:   -80,0  ?Temperatur
0B:       4  M2.1 Kurvlutning
0C:      -2  M2.2 Förskj. värmekurva
0D:      29  M2.0 Beräknad framledningstemp.
0E:   -80,0  ?Temperatur
0F:   -80,0  ?Temperatur
10:       5  M3.1 Kurvlutning 2
11:       0  M3.2 Förskj. värmekurva 2
12:      38  M3.0 Beräknad framledningstemp. 2
13:    0x42  Bitfält (cirk.pump, elpatron, kompressor)
14:  0x1223  Bitfält (elpatroneffekt, fläkthast., elpannedrift, värmesystem)
15:  0x8200  Bitfält (driftläge auto, extra varmvatten)
16:  0x0000  Bitfält (givarlarm)
17:     0,0  M8.3.3 Ström fas 1
18:     4,7  M8.3.4 Ström fas 2
19:     0,0  M8.3.5 Ström fas 3
1A:    0xA1  Bitfält (dygnsändring)
1B:    2227  M5.4 Kompressorstarter
1C:    4387  M5.5 Drifttid kompressor
1D:    1255  M9.1.8 Tidfaktor elpatron
1E:      42  M2.4 Maxtemp. framledn.
1F:      15  M2.3 Mintemp. framledn.
20:      55  M3.4 Maxtemp. framledn. 2
21:      15  M3.3 Mintemp. framledn. 2
22:       0  M2.5 Kompensering yttre
23:       0  M2.5 Kompensering yttre 2
24:      14  M1.3 Intervall per. XVV
25:      16  ?
26:       0  M2.7 RCU förskjutning
27:       0  M3.7 RCU förskjutning 2
28:       0  M5.6 Larmtemp. frånluft
29:      10  M7.1 År
2A:      12  M7.1 Månad
2B:      13  M7.1 Dag
2C:      21  M7.2 Timme
2D:      20  M7.2 Minut
2E:       7  M7.2 Sekund
2F:      45  ?

Författare:  Loner [ 12.39 2011-02-17 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

0x25 är en bitmask
Starta om FIGHTER 360 - Bit 0x0001 - 0 = (normalläge) 1 = Utför omstart
Extern larmsignal 1 (RCU DI 1) - R Bit 0x0002 - 1 - - -0 = Från 1 = Till -
Extern larmsignal 2 (RCU DI 2) - R Bit 0x0004 - 1 - - -0 = Från 1 = Till -
Golvtork M9.2.1 Bit 0x0008

0x2F har jag ingen uppgift på skall finnas...

/L

Författare:  diggger [ 11.20 2011-02-25 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej.
Undrar om någon lyckats med att styra Niben dvs skicka parametrar till den.
Har med framgång lyckats läsa ut värden från min 1130 med hjälp av protokollexemplet från FredRovers på sida 6 i denna tråd.
Provade därefter att försöka skriva värden, också detta enligt FredRovers instruktion men får det inte att funka.

Citera:
Exempel av skrivning av parametrar.
När styrkortet adresserar RCUn enligt:
*00 *14 ska RCUn svara 05 (ENQ) isf 06 (ACK). Styrkortet kommer då att svara 06 (ACK). RCUn ska då sända följande:
C0 00 14 (sender address) följt av antal bytes data du vill skicka.
Efter detta ska adress och data skickas, tex:
00 14 01 45.
XOR-summan skickar du efter att du skickat dina data bytes. XOR-summan ska räknas ut med allt som du sänder dvs c0 00 14 04 00 14 01 45.
När styrkortet tagit emot XOR-summan kommer den att skicka 06 (ACK) om XOR-summan var ok. Om styrkortet skickar 15 (NAK) så var det fel XOR-summa.
När RCUn fått in 06 (ACK) från styrkortet ska RCUn skicka *03 (ETX) och så är det färdigt. Observera att bit 9 skall vara satt när du skickar ETX.



Allt funkar bra tills jag skickat data + checksumma. Då får jag ingen respons alls, dvs varken 06 eller 15.
Har ingen riktigt bra idé på hur jag går vidare. Någon som kommit längre och kan hjälpa mig?

Mvh Stefan

Författare:  blueint [ 12.09 2011-02-25 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Kolla manuellt på manöverpanelen om värdena registrerats.

Författare:  diggger [ 10.19 2011-02-26 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej, igen.
Näe, något värde har inte registrerats. Min känsla är att format eller längd på data inte är riktigt korrekt.
Igår kväll ändrade jag något på innehåll och längd, a la "trial and error", och fick förutom några rejäla omstarter av niben, till slut respons iform av 0x15, dvs nak'ar, efter min sändning. Bevisligen helt klart mer ok. Meckade sedan lite till utan att få något godkänt svar.

All hjälp framåt är mycket önskvärd, kanske någon som har en RCU, som är villig att låna ut den ett tag, eller kanske kan logga lite trafik åt mig?

Mvh Stefan

Författare:  ceke73 [ 09.04 2012-02-10 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej!

Ber om ursäkt för en sen fråga från en nybörjare. Vi har nyligen installerat en NIBE 1145 bergvärmepump och jag försöker få ut loggdata. Via USB-minne går det ju bra, men jag skulle vilja jacka in mig på något annat ställe för att kunna plocka ut data i realtid.

Efter att ha surfat högt och lågt hittade jag denna tråd och det verkar som att ni lyckats knäcka detta. Skulle det vara möjligt att sammanfatta vad man behöver göra för att få in klartextdata till en dator? Vad jag förstått behöver man en adapter för RS485->RS232 eller en RS485->USB och någon programvara för att läsa av kommunikationen.

Behöver man något mer?
Var/hur kopplar man in detta på pumpen (var sitter det och hur kopplar man pinnarna?)
Vilka kommandon skickar man för att få data och hur svarar man för "acka"?

Programmeringen fixar jag nog, men hårdvaran känns lite spännande att börja pilla med :-)

Tacksam för en kort "how-to".

Författare:  funkisen [ 15.01 2012-02-11 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag har precis tagit tag i detta för min Nibe 360P. Jag har nu börjat titta på HW, det blir antingen en of-the-shelf converter eller om jag bygger något med Aruino eller liknande (kräver dock en del pyssel med det elektriska interfacet).

När det gäller inkopplingen till just din pump vet jag inte hur det ser ut. Troligen är det mkt likt min och då sitter det ett kort med modularkontakter på (två stycken). Den ena går till displayenheten på min pump och den andra är tom. Kontakterna är anslutna parallellt med varandra och jag utnyttjar den tomma för att koppla in mig. Anslutningen är mycket enkel:

Jag klippte en vanlig ethernetkabel, tog en sockerbit (temporär lösning) och kopplade ihop med en klippt seriekabel. Pinout:

DB9 - RJ45 (8P8C)
---------------
1 - 1 (D+)
2 - 2 (D-)
5 - 7 eller 8 (GND)

Vi får väl hålla varandra uppdaterade här. Om jag fixar HW, tar du fram ett snyggt Java-hack då? ;) Ett webinterface hade inte varit fel heller.

Författare:  funkisen [ 01.03 2012-02-14 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det är inte lätt att vara eftersläntrare, jag har nu kommunikation med VP men jag får inte den data som andra här har vittnat om. Såhär ser det ut för mig:

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
0x0 0x5c
0x0 0x34
0x0 0x7e 0x7e
0x0 0x5c
0x0 0x54
0x0 0xfd 0x30 0xd4 0xe3 0x54 0x82 0xe8 0xf8 0xc5 0x7e 0xf2 0x80 0x54
0x0 0x7e 0x55 0xfe 0x6e 0xf6 0xec 0xb3 0x27 0x1e
0x0 0x7e 0x7e 0xf0 0x34
0x0 0x7e 0x9b 0xfe 0x6e 0xfa 0xfe 0xa2 0xcc 0xf2
0x0 0x34
0x0 0x7e 0x7e
0x0 0x5c
0x0 0x34
0x0 0x7e 0x5b 0xfe 0x6e 0xbe 0xbc 0xa3 0x46 0x32 0x8c 0x74 0xbf 0x4c 0x63 0x8d 0x3a 0xcc 0x5a 0x4c 0xa3 0xc6 0x8c 0x33 0x62 0xcc 0xf2 0x80 0x34
0x0 0x7e 0x59 0xfe 0x6e 0xee 0x38 0x8c 0x7c 0xfe 0x8e 0xcc 0xf2 0x80 0x34
0x0 0x7e 0x59 0xfe 0x6e 0xee 0x3a 0x8c 0x7c 0xfe 0x8e 0xcc 0xf2
0x0 0x34
0x0 0x7e 0x5d 0xfe 0x6e 0xd2 0x7e 0x7e 0x7e 0x2e 0x1a 0x46 0x2a 0x3e 0xc9 0xf3 0xe7 0x92 0x31 0xf2
0x0 0x34
0x0 0x7e 0x7e
0x0 0x5c
0x0 0x54
0x0 0x7e 0x55 0xfe 0x6e 0xf6 0xec 0xb3 0x27 0x1e
0x0 0x7e 0x7e 0xf0 0x34
0x0 0x7e 0x7e
0x0 0x5c
0x0 0x34
0x0 0xf9 0xf2
0x0 0x5c
0x0 0x54


Jag har lag in en radbrytning när 0x00 kommer för att göra det lite mer läsbart. Om jag slår av RCU i pumpen så försvinner det som ser ut att kunna vara en adressering av 5C så det skulle kunna RCU:ns adress. Om jag skickar ACK enligt vad som nämnts tidigare i denna tråd händer dock inget. Min 360P är från 2010, är det någon som vet om det har skett någon större förändring av mjukvara eller liknande på 360P vilket skulle kunna förklara att jag inte ser det andra har sett före mig. Eller är det bara skit bakom spakarna hemma hos mig ;)

Författare:  ssormark [ 18.13 2012-02-25 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej hej!

Jag har en 370 och har gjort lite tafatta försök att få till kommunikation med den. Är det nån annan som har pillat med en 370?

Den verkar vara helt annorlunda jämfört med 360. Den vanliga RCUn verkar inte funka ihop med 370. Det står iaf. inget om det i manualen, och det finns ingen RJ45 kontakt nånstans. Hos Nibe finns däremot tillbehören Modbus40 och SMS40 att köpa för hutlösa pengar, och dessa kan man aktivera i servicemenyn. I manualen för dessa tillbehör står också att dom kör rs485 och ska kopplas in i plint AA3-X4. Jag inhandlade alltså en rs232/485-adapter från Lawicel och kopplade in den där.

Jag har ingen aning om vad som är plus och minus eller vilken hastighet man ska köra. Jag har testat lite allt möjligt och tycker att 9600 8N1 verkar bäst. Såhär ser det ut då. Jag har lagt in radbrytningar före 5c, och mitt program skriver ut hur många sekunder det har väntat innan det hittar nått att läsa på porten.

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
5c 00 20 ee 00 ce
5c 00 20 ee 00 ce
5c 00 20 ee 00 ce

(wait: 6)

5c 00 20 6b 00 4b
5c 00 20 6b 00 4b
5c 00 20 6b 00 4b
5c 00 20 69 00 49
5c 00 20 69 00 49
5c 00 20 69 00 49

(wait: 4)

5c 00 20 ee 00 ce
5c 00 20 ee 00 ce
5c 00 20 ee 00 ce

(wait: 6)

5c 00 20 6b 00 4b
5c 00 20 6b 00 4b
5c 00 20 6b 00 4b
5c 00 20 69 00 49
5c 00 20 69 00 49
5c 00 20 69 00 49

(wait: 4)

5c 00 20 ee 00 ce
5c 00 20 ee 00 ce
5c 00 20 ee 00 ce

(wait: 6)

5c 00 20 6b 00 4b
5c 00 20 6b 00 4b
5c 00 20 6b 00 4b
5c 00 20 69 00 49
5c 00 20 69 00 49
5c 00 20 69 00 49

(wait: 1)

5c 00 20 68 50 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 18
5c 00 20 68 50 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 18
5c 00 20 68 50 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 18

(wait: 3)



Författare:  blueint [ 18.40 2012-02-25 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Bild på dessa installationer?

Författare:  dacwe [ 09.38 2012-03-01 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

ssormark, har du hittat något mer om F370? Jag funderar på att sätta in en sådan pump men vill precis som du inte köpa något dyrt (och inte perfekt) tillbehör för att kunna fjärrmonitorera. Skummade precis manualerna för både pumpen och MODBUS 40 (http://www.nibeonline.com/pdf/031725-2.pdf) och noterade att det står skrivet på sidan 6, "Automatisk avläsning" följande:

Citera:
Det går inte att ha olika fördefinierade parametrar för loggning på USB-minne och för användning mot MODBUS 40.


Enligt manualen är det 20 st modbus register som kan automatiskt avläsas (periodiskt) och samtidigt tycker jag mig avläsa ett återupprepande mönster i dina utläsningar (20 st "FF FF 00 00"):

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
5c 00 20 68 50 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 18


Det jag undrade var om du kunde försöka att logga modbus datat under tiden du samtidigt gör en loggning till ett usb-minne. Det ser ju som att du kommer få samma data över seriellsnöret också! Värt ett försök iaf!

Författare:  bitschubser0815 [ 14.07 2012-11-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hello all,

I hope you don't mind writing in english, but I can't speak one word swedish :(

I own a Nibe F370 and want to communicate with it. For this, I intend to imitate a RMU40 remote control. Just I couldn't find out the communication protocol the Nibe uses for this purpose. I can decode the messages the Nibe sends me if I activate the RMU40 in the settings-menu, though. I also tried sending an "ACK" after all data bytes were received and checksum was calculated correctly. This prevents the indicator LED on the F370 to go red - it stays green all the time when I keep sending "ACK" packages.

This is what I get back when I'm sending ACK messages after each decoded "inquiry":

Receiver=19, Command=62, Data=4F00B201FFFFFFFF00800000000000020B0D340001000002
Receiver=19, Command=EE, Data=nothing
Receiver=19, Command=60, Data=nothing

In the next step I listened to the communication between the main display unit (built into F370) and the controller. Attached is the partly decoded communication snippet. I assume the display unit asks for some values (the four messages with 0xfc / 0x90,0x91,0x92 and 0x93) and the controller returns them (0xf5 / 0x90..0x94). Unfortunately, I can't find the temperature values the LCD is displaying in these messages. They seem to be decrypted in some way.

Best regards!

Författare:  fredriksimon [ 23.39 2012-11-21 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej,

Någon som har lite kod som man kan utgå ifråm? Känns lite dumt att uppfinna hjulet igen.

/Fredrik

Författare:  bitschubser0815 [ 23.31 2012-11-27 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej Fredrik,

if you're wondering why I'm doing this - Nibe changed the communication interface in the current product line. That's why the RMU-40 only is compatible with the F1245, F370, F750 etc.

Rgds!

Författare:  RadioDJ [ 18.09 2012-12-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej alla.
Jag har kommit lite sent in i denna dialogen men ändå.
Jag har precis blivit med en Nibe F1145a.

Nu har jag lite frågor at ställa till alla Er som verkar ha koll på detta.

Jag tänker koppla min pump till en programvara som heter UniView för att få fullständig kontroll över pumpen.

Nu kommer mina frågor.
Fungerar pumpen som en master eller slav?
När svarar den på en fråga?
Jag har upptäckt att om jag säger till pumpen att det finns en Modbus-40 så skickar den data hela tiden samt att jag får ett fel i pumpen som säger att enheten saknas.
Måste den få ett svar tillbaka och i så fall vad?

Kan jag få den att bli en slav så att den enbart bara svarar på mina frågor?

Jag kommer att koppla ett Westermo-modem mellan pumpen och min dator.

Det får räcka för nu. Fler frågor kan komma senare.

Tack på förhand.
//Bosse

Författare:  Agwan [ 20.55 2013-12-10 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag har för mig att jag fick två programvaror från Nibe för 4-5 år sedan när jag installerade bergvärme förra gången. Jag installerade aldrig min Modbus 40 den gången. Nu har jag installerat igen och installerade Modbus40 på en gång. Hittar dock inte igen den andra mjukvaran hos Nibe.

Någon som har koll på den eller om det finns någon annan bra mjukvara för avläsning och styrning av pannan?

Författare:  Agwan [ 21.53 2013-12-17 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Äntligen! Fick igång snacket med pannan. Över Modbus40 då och inte direkt på pannan som den här tråden verkar handla mest om. Men med tanke på att förra posten är över ett år gammalt så kan jag väl kapa in lite.

Kör med RealTerm. http://realterm.sourceforge.net/
Knappar in Hex[space] på Display-tabben. Half duplex.
9600 BAUD, 8 bits data, 1 bits stop och RS485-rts på Hard Ware Flow Control under Port-tabben.
Under Send-tabben väljer man +crc under EOL och sedan MOdbus16 från dropdown-menyn.

Sedan matar jag in 0x01 0x03 0x9C 0x44 0x00 0x01 i send-rutan.
[0x01] till master, [0x03] Read holding register dvs läs, [0x9C][0x44] är 40004 som betyder läs utomhustemperaturen och så [0x00][0x01] vilket jag antar är hur långt svar jag vill ha(???), hur många register jag vill läsa vilket alltid är 16-bitars register(???). Eller så beror det på vilket typ av register det är.

Svaret blir:
01 03 02 00 21 78 5C
[0x01] från master, [0x03] du ville läsa, [0x02] du får här två bytes med svar, [0x00][0x21] utomhustemperaturen är 3.3 grader, [0x78][0x5C] är CRC för felberäkning på meddelandet.

Nu behöver man slänga ihop nått C#-hack som läser av det här åt mig och skriver till fil. Fast först behöver jag lista ut hur CRC beräknas på Modbus16 när jag inte har RealTerm som gör det åt mig. Borde google kunna svara på.

Förslag på register att läsa finns här: http://www.nibe.se/Pages/42625/Exempel-variabler-Modbus40.pdf

Författare:  blueint [ 01.54 2013-12-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

CRC kan vara knepigt att få till då det finns olika varianter på samma metod.

Författare:  Agwan [ 08.51 2013-12-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
// Compute the MODBUS RTU CRC
UInt16 ModRTU_CRC(byte[] buf, int len)
{
  UInt16 crc = 0xFFFF;
 
  for (int pos = 0; pos < len; pos++) {
    crc ^= (UInt16)buf[pos];          // XOR byte into least sig. byte of crc
 
    for (int i = 8; i != 0; i--) {    // Loop over each bit
      if ((crc & 0x0001) != 0) {      // If the LSB is set
        crc >>= 1;                    // Shift right and XOR 0xA001
        crc ^= 0xA001;
      }
      else                            // Else LSB is not set
        crc >>= 1;                    // Just shift right
    }
  }
  // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)
  return crc; 
}

Inte så svårt. Men om man har ett gäng fasta meddelanden så är det ju bara att kolla vad RealTerm räknar fram för vardera meddelande och använda CRC:n därifrån. Fungerar så länge man bara skall läsa värden.

Författare:  Agwan [ 20.55 2013-12-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Bara att mata på med register så att jag får in all data jag vill ha. Och sedan jobba lite på interfacet. Tanken är sedan att länka det till något passande hemautomationsprogram så att jag kan övervaka och styra den från tabben mm. Behöver få in lite grafer också. Skalan på tempmätaren skall vara sådär, jag förväntar mig varm sommar nästa år.

Författare:  Agwan [ 19.30 2013-12-19 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

CRC-rutinen jag postade ovan fungerar precis som den är rakt in i C#. Bara man tänker på sista kommentaren som står i den koden.

Författare:  Agwan [ 22.11 2013-12-19 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Modbus Manager från Nibe var perfekta verktyget att skörda register ifrån. Där får man en beskrivning av vad de flesta register betyder också.

Nästa steg är att skriva till pannan för att göra inställningar. Sedan behövs nog ett steg tillbaka och generalisera koden så att den blir mer överblickbar och får lättare att lägga till kommandon att läsa/skriva.

Pannan är inte färdiginstallerad än, därför ser några värden lite märkliga ut.

Författare:  blueint [ 04.46 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Vad är "Modbus Manager" från Nibe för något? trodde all åtkomst direkt till styrenheten utan det där Ethernet-tillbehöret vart helt utan dokumentation eller program.

Författare:  Agwan [ 07.22 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

http://www.nibe.se/Pages/97939/NIBE_ModbusManager_1.0.8.exe
Används för att tala om för pannan vilka register som skall ha prioriterad läsning med Modbus40-tillbehöret. I programmet ser man vilka register som är vad, och om jag inte misstar mig helt, så är det ingen skillnad på registerpositionerna om man använder Modbus40 eller går direkt på pannans interna Modbus. Jag går på Modbus40 eftersom det är så Nibe tänkt sig att man skall koppla in sig.

Författare:  blueint [ 07.42 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Vad är Modbus40 ..?

Författare:  Agwan [ 07.51 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Nibes tillbehör för att prata modbus mellan pumpen och dator. En liten elektronikdosa. Samma elektronik som SMS40 som jag förstått det. Fast utan telemodulen.

Författare:  blueint [ 07.57 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Vilket gränssnitt har denna elektronikdosa gentemot PC datorn?

(btw, En virtuell COM-port skulle kunna användas för att systematiskt och effektivt plocka ur dessa register)

Författare:  Agwan [ 08.31 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det är modbus mot datorn, RS-485. Men lite mer standard än 9-bitars som pannan kör internt. Så det funkar fint att bra koppla upp sig med en USB-RS485-adapter och RealTerm eller annat terminalprogram.

Vet inte riktigt vad du menar med en virtuell COM-port och plocka register. Menar du från "Modbus Manager"? Det programmet i sig pratar inte med pannan, det skriver bara en fil på en USB-sticka som man kör in i pannan så att den förstår att det är de registren man vill läsa snabbare.

Författare:  blueint [ 08.39 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Skriver ModbusManager_1.0.8.exe en ren datafil så är det ju en small sak att ta rätt på registren. Finns ju möjligheten att t.om ha ett program som kontinuerligt läser in filen och visar skillnaden avkodad.

Författare:  Agwan [ 09.09 2013-12-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Registrenummren visas i klartext tillsammans med namn och en förklaring av vad de gör (inte alla har förklaring). Så enklast är att läsa i programmet och skriva av. Den har registren för ett antal olika pannor.

Författare:  Agwan [ 21.48 2013-12-23 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Skriva verkar inte vara rättfram. Någon som har mer insikt i hur man gör? Jag får värden i pannan att ändra sig, och rätt värde. Men det blir inte det värde jag tycker att jag skickar.

Författare:  Agwan [ 23.30 2013-12-25 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Tror det blev löst:
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
sendBuffer[0] = 0x01; // To the master address 1
sendBuffer[1] = 0x10; // Write command
sendBuffer[2] = 0xB7; // High byte address register
sendBuffer[3] = 0xA3; // Low byte address register
sendBuffer[4] = 0x00; // Number of register to write high byte
sendBuffer[5] = 0x01; // Number of register to write low byte
sendBuffer[6] = 0x02; // Number of following bytes
tempshort = short.Parse(textBox29.Text);
shortBuffer = BitConverter.GetBytes(tempshort);
sendBuffer[7] = shortBuffer[1]; // Value to set, high byte
sendBuffer[8] = shortBuffer[0]; // Value to set, low byte
CRC = ModRTU_CRC(sendBuffer, 9);
sendBuffer[9] = (byte)CRC;
sendBuffer[10] = (byte)(CRC / 256);

Pajja inte era pannor, jag kan inte garantera att koden inte kan skada den.

Författare:  Agwan [ 21.55 2013-12-26 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Såhär ser några timmars normal körning ut. Med lite varmvatten i mitten. Intressant att man dels ser fördröjningen mellan tur och retur på vattnet ut till radiatorerna, och dels ser man hur lång tid det tar för kollektorvätskan att rotera ett varv. Ganska precis en halv körtid.

Undra vad dipparna i framledningstemperatur är för något. Jag tycker att de har blivit fler per körning med tiden. Men det kanske bara beror på hur länge pannan kör.

Författare:  aminders [ 09.04 2014-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Gott Nytt År!
Loggar mitt hus med 1-wire system och en RaspberryPi. Fungerar utmärkt.
Har inte lagt ner så mycket tid på att få graferna snyggare men när tid ges ...
Bilaga:
huset.png

Har en Nibe F1245 som jag vill logga via webben.
Hittade denna lösning för att läsa av en Nibe F1145 och F1245:
https://github.com/openhab/openhab/wiki ... mp-Binding

Är det någon här som har testat detta?

Mvh
aminders

Författare:  byggvir [ 13.53 2014-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej,

Jag har provat OpenHAB på Raspberry Pi mot min Nibe 1245:a. Helt smärtfritt var det inte och de problem jag upplevt består av två delar:

1. Få Nibe-binding:en till OpenHAB att fungera som avsett. Jag har varit tvungen att modifiera c-koden och även småförändringar i Java-koden. I c-koden fick jag ändra hur serieporten konfigurerades och om jag minns rätt stängde jag av hardware flow-control. I c-koden hanteras även att skicka ACK och NAK till Nibe:n när den skickar ut information. Vissa paket som kommer från pumpen tolkar inte c-programmet som korrekta paket och skickar därför NAK. Det gör att pumpen hamnar i larmläge. Enklaste lösningen jag kom på var att helt sonika skicka ACK ändå. Nu har programmet (och pumpen) gått felfritt i ca en månad så det verkar fungera :)

2. Jag kunde inte få Raspberry Pi att köra OpenHAB snabbt nog. Det problem jag aldrig lyckades lösa var att OpenHAB på Raspberry Pi laggade efter vilket gjorde att de värden som såg ut att komma in i "realtid" i loggarna egentligen var flera minuter gamla. Efter ca 20 minuters körning var värdena kanske 15 minuter gamla och lagget gällde även förändringar i konfigurationen av OpenHAB som inte "tog" förrän efter flera minuter beroende på hur länge OpenHAB körts. Inget av detta syns när jag kör på en "vanlig" PC, typ en gammal Pentium 4 med Linux.
På R-Pi:n provade jag både med Java 7 och 8 från Oracle. Provade även att överklocka, men bara lite eftersom jag inte var säker på hur minneskortet skulle påverkas av överklockning.

Tänkte även nämna (det kanske har sagts tidigare) att OpenHABs Nibe-binding använder sig av de max 20 register man kan få ur Niben med hjälp av ModBus Manager. Om man vill ha andra värden från Niben till OpenHAB måste man så vitt jag vet fixa det själv. Absolut ingen omöjligt, men det kräver en programmeringsinsats.

Jag är mycket nyfiken om någon har lyckats få OpenHAB att köra på Raspberry Pi utan lagg, för det vore mycket fint att slippa ha en onödigt stor dator gående om man kan klara sig med en R-Pi. Sen så är det ju mycket coolare!

Min RS-485 -> RS-232 adapter är en följande (nu har auktionen gått ut, men jag tänkte att nån kanske ville se hur den såg ut)
http://www.ebay.co.uk/itm/RS232-to-RS485-Data-Communication-Converter-PTZ-CCTV-/390323001518

mvh

Författare:  blueint [ 14.51 2014-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Vilken mjukvarumiljö använde du på RPi som gick långsamt?
Ett tips är att Java iaf är känt för sin långsamhet.

https://github.com/openhab/openhab/wiki ... mp-Binding

Författare:  byggvir [ 17.30 2014-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag körde Raspbian och Java med Hard Float i alla mina tester. Kanske finns det någon bättre distro än Raspbian att köra på?

Säkert kan JVM:en vara långsam, särskilt i uppstart när klasser ska laddas/kompileras.

Författare:  blueint [ 19.18 2014-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Låt C programmet köra direkt under kernels userland.

Författare:  adent [ 23.47 2014-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Ursäkta att jag inte har läst igenom tråden. Kort fråga:

Kan man få ut något intressant ur en Nibe Fighter F1225?

Mycket intresserad!

MVH: Mikael

Författare:  blueint [ 07.52 2014-01-03 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Om den har modbus (RS485) ska det nog gå?

Någon som har bild på hur dessa fysiska modbus anslutningar ser ut egentligen på värmepumparna?

Författare:  Agwan [ 11.01 2014-01-03 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det finns inget i modbus manager om 1225:an iaf.

Kopplingen mot pannan kan du läsa om i installationsboken för modbus 40. Vill du köra utan modbus 40-modulen så ser du iaf hur den skulle ha varit kopplad mot pannan och kan ansluta din egna lösning på samma sätt.

Författare:  blueint [ 11.04 2014-01-03 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det kanske finns odokumenterad RS485 anslutning?

Författare:  aminders [ 23.58 2014-01-05 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Tack byggvir och ni andra för era svar.
Mina linuxkunskaper sträcker sig inte så långt. Jag "klipper och klistrar" via Putty till Raspberryn och har som sagt fått till ett system för att övervaka husets temperaturer. Intressant att kunna se när ungarna stänger av sin datorer och kryper till kojs. Kurvorna avslöjar mycket ...
Jag ska fortsätta grotta i möjligheterna att logga Niben med Raspberryn och OpenHAB. Det vore som sagt cool att få det att fungera.
Stöter ni på något så skriv gärna.

Mvh

Författare:  TeamT [ 15.43 2014-03-04 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag har lyckats korskompilerat NIBEGW för linuxdistrubitionen OpenWRT på en TL-WR703N box med en USB till RS485 adapter. Allt i syfte att få wifi-access till min värmepump (se http://wiki.openwrt.org/toh/tp-link/tl-wr703n)

Är det någon som har koll på hur mycket ström man kan dra via 5V pinnarna på värmepumpens RS485 port? Hade varit smaskigt om den orkade driva utrustningen.

Citera:
Maximum current draw at 5V is 185mA (OpenWrt boot), average current draw with WiFi at 18dBm is 100mA, without WiFi 80mA. Hence the average router power consumption is 0.5W, which is incredibly low.

Tillkommer strömbehov för UBS till RS485 adaptern.

Författare:  blueint [ 15.53 2014-03-04 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Vad säger manualen? finns det tillbehör som använder RS485 elkraften och specifierar sin ström?

Författare:  TeamT [ 16.12 2014-03-04 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hittar inget i manualen. Det "tillbehör" som jag känner till RCU 10 har egen spänningsmatning.

Författare:  David_L [ 22.02 2015-10-01 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej, jag tänkte bara kontrollera om jag har förstått det här rätt.

Jag har en Nibe 1145.
Om jag utgår ifrån en arduino och lägger på en rs485 shield (typ denna http://www.electrokit.com/rs485-shield-v2.52597) och utgår ifrån den kod som finns här:

https://github.com/openhab/openhab/wiki ... mp-Binding

Kommer min Nibe att kunna kommunicera direkt med arduinon via rs485 interfacet då eller behöver jag även en modbus40 modul som det har skrivits om tidigare?
Jag har inte riktigt förstått skillnaden mellan modbus40 modulen och rs485 interfacet som möjligtvis finns inbyggt i pumpen.

Mvh David

Författare:  Icecap [ 09.39 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

MODBUS är ett kommunikationsprotokoll!
Ganska tydligt specificerat och kan köra via olika anslutningar men RS485 är mycket vanlig.

Det betyder att OM din värmepump har en MODBUS RS485 anslutning är du i mål (om mjukvaran fungerar, den bit har jag ingen aning om).

Och ja, jag sitter just nu med ett projekt som kör med MODBUS så jag har staplar av utskrifter med specifikationer över MODBUS.

Författare:  Jan Almqvist [ 09.52 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

...eller en grupp av protokoll ( Modbus/TCP, Modbus RTU m.fl. ) som kan köras på lite olika sätt tcp/ip, udp, seriellt, 'encapsulated' etc...

Författare:  FormerMazda [ 09.59 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

David_L skrev:
Hej, jag tänkte bara kontrollera om jag har förstått det här rätt.
...
Kommer min Nibe att kunna kommunicera direkt med arduinon via rs485 interfacet då eller behöver jag även en modbus40 modul som det har skrivits om tidigare?
...
Mvh David


Det du länkar till på GitHub är ju vad jag förstår Arduino-kod för att prata Modbus med en NIBE. Och RS485 är ju det fysiska gränssnittet, till detta har du köpt ett shield.
Så, ja. Du borde kunna få allt att funka med din hårdvara och koden.
Saxat från Github-länken: Arduino based solution, tested with arduino uno + RS485 and Ethernet shields.

Men för vidareutveckling av frågan och nyfikenhet, vad är du ute efter? Mer koll? Styra själv?

Författare:  David_L [ 10.24 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det låter ju som att det går att få ihop det som jag hade hoppats på.

Jag vill helt enkelt ha lite koll på hur min VP jobbar, har inget behov av att styra den själv i dagsläget.
Tidigare har loggat min gamla Nibe 1115 med påtejpade 1-wire tempgivare kopplat till en raspberry som sedan skickat upp data till mitt konto på emoncms.org.
Där kan man bygga lite dashboards och få ut fina grafer:

Bild

Eftersom det var lite begränsat med data jag kunde få ut via mitt enkla system så har jag kört lite analys på tempdatan för att försöka räkna ut när pumpen går och ungefär vad den gör, med varierat resultat.

På min nyinstallerade Nibe 1145 så finns det ju uppenbarligen en väldig massa mer data tillgängligt.
Via Nibe uplink laddar den ju upp lite data till deras webbtjänst, men dels verkar den inte riktigt jobba i realtid och dels får man betala årsavgift för att få ut mer än 1 månads historisk data.

Därför tänkte jag att det vore väldigt trevligt om man kunde plocka ut denna data direkt från pumpen istället för att koppla på givare som jag gjort tidigare.
Då kan man dessutom göra beräkningar på gångtid, start stopp och lite annat som är intressant att veta när man ska försöka optimera systemet.

Mvh David

Författare:  Jan Almqvist [ 10.30 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Om pumpen har ethernet så borde man kunna köra Modbus/TCP och slippa använda RS-485 och Modbus RTU.

Författare:  David_L [ 12.26 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Nibes ethernet anslutning på dessa pumpar verkar tyvärr bara användas till att kommunicera med deras egen webbtjänst (nibe uplink).
Det hade ju varit smidigt annars, men jag har inte lyckats läsa mig till något om att den skulle gå att interfaca mot.
Visst, man kan tänka sig att man kan sniffa nätverkstrafiken och försöka se vad den skickar för data men troligtvis (förhoppningsvis) kör den med ssl ändå vilket borde göra det svårt att reverse engineera deras protokoll den vägen.

/ David

Författare:  FormerMazda [ 13.33 2015-10-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Ska du testa om den pratar modbus föreslår jag att helt enkelt köra nån modbus-testprogram mot den (typ modscan32) och se om den svarar. Knacka i IP, port 502 och slav id 1. Vanligaste inställningar med andra ord.

Med arduinon kan du ju gå all-in och göra den som en seriell-modbus till wifi-modbus. Borde faktiskt inte vara jättesvårt, handlar bara om att googla.

Författare:  David_L [ 20.12 2015-10-25 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Nu har jag börjat testa lite smått, har modifierat arduino koden från github-länken för att få den att skicka meddelanden till min mqtt server istället för openhab.
Ethernet verkar fungera fint, arduinon skickar testmeddelanden som den ska, däremot har jag inte riktigt fått rs485 kommunikationen med niben att fungera ännu.

Behöver man gemensam jord för att få det här att fungera? Googlade en del men det fanns lite motstridiga uppgifter.
Har väl en 5-8 meter lång kabel just nu, använder ett par i en cat6 kabel.

/ David

Författare:  Tnemrap [ 00.14 2015-11-19 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej

Är det någon som har fått OpenHAB att fungera med F1235?

/Mike

Författare:  andersjm [ 16.52 2015-12-12 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej forumet!

Jag är sugen på att ge mig på det här med att prata med en Nibe-bergvärmepump via modbus.

Är det någon som kan redogöra för vad MODBUS 40 egentligen gör? I installationshandboken för MODBUS 40 visas hur pumpen har GND, A, B och 12V - dvs modbus-terminologi. Detta får en ju att tro att MODBUS 40 pratar Modbus med pumpen. Men isåfall - vad ska man då med MODBUS 40 till - verkar lite onödigt att köpa en modbus till modbus-omvandlare för 6000kr.

Någon nämnde att Nibe-pumpen kör 9-bitars modbus, och att MODBUS 40 helt enkelt var en omvandlare mellan 9-bit och 8-bit. Sen känns det lite som att pumpen är MODBUS-master, när man läser dokumentationen. Man verkar kunna ställa in en adress i MODBUS 40, och sen ange den adressen i konfigurationen till pumpen. Detta känns lite småknasigt.

Nån som har bra koll?

Författare:  mrfrenzy [ 22.34 2015-12-12 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det står på openhab - sidan att programmet nibegw pratar modbus via rs485 till en nibepump utan modbusadaptern och sen skickar vidare telegram men via UDP.

Svaret är alltså ja, du behöver ingen modbus 40 utan kan prata med pumpen ändå. Studera förslagsvis koden till nibegw.

Författare:  Agwan [ 15.01 2015-12-15 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

MODBUS 40 filtrerar kommandona lite så att du inte kan förstöra din panna genom att ställa om viktiga parametrar till något fullständigt dåraktigt.

Författare:  Tnemrap [ 12.44 2015-12-29 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Någon som har lyckats styra pumpen med rs485.

Jag skulle vilja kunna slå på extra varmvatten 3 timmar.

/mike

Författare:  msveden [ 10.27 2016-02-07 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

funkisen skrev:
Jag klippte en vanlig ethernetkabel, tog en sockerbit (temporär lösning) och kopplade ihop med en klippt seriekabel. Pinout:

DB9 - RJ45 (8P8C)
---------------
1 - 1 (D+)
2 - 2 (D-)
5 - 7 eller 8 (GND)

Jag har också en 360P med CPU version 2.13. Igår försökte jag mig på att koppla ihop in en Arduino med RS485 Shield och koden från openHAB dock utan framgång. Ska 1,2 och 7/8 vara färger från T568A eller T568B? Dvs. vilka färger ska jag använda? Jag har verifierat att RCU är aktiverat i menyn.

/Micke

Författare:  msveden [ 21.21 2016-03-12 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Tips till oss med Nibe 360P:
http://www.telder.com/arduino-ersatter-nibe-rcu-10/

Författare:  TeamT [ 19.34 2016-12-12 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej !

Jag har ett hobbyprojekt som gått lite överstyr.

Alternativ till Nibes RCU. Fungerar (just nu) till:
Nibe Fighter
- 1120
- 1130
- 1130/35/40
- 1220
- 1230
- 1230/35/40

Läser och skriver värmepumpens parametrar.
Liten, lätt (40 gram) och kraftfull.
Anslut via WiFi eller Ethernet.
Kan anslutas till ditt hemnätverk (din router).
Spänningsmatning direkt från din värmepump.
Billig - Open Source - baserad på Linux-ditributionen OpenWrt.
Mailar, SMSar och laddar upp filer (diagram och logfiler) till Dropbox om du vill.
Gillar du web-utveckling kan du utveckla användargränssnittet själv m.h.a. API.

Någon som kan tänka sig vara testpilot?

Mer info här:
Demo webinterface: https://youtu.be/ZF61Mge1Xc4
Unboxing: https://youtu.be/7Uhy_A5y0Gw

PM vid intresse.

Edit:

Tack, då har jag fått ihop 5 testpiloter.

Författare:  Laserboy [ 13.32 2016-12-13 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej.
Är det här något som du säljer? Jag skulle vara intresserad av att köpa ett interface.

/Laserboy

Författare:  TeamT [ 23.13 2016-12-13 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Hej !

Nej, säljer inte i detta läge. Det kostar inget att bli testpilot. Planen är att bygga ihop 5 st enheter under julhelgen. Jag vill bara ha lite hjälp med att testa och att få förbättringsförslag. Materialkostnaden är bara ca 300 kr. Vill man ha kvar den efter testperioden pratar vi om just hundralappar.

Skulle det i slutändan bli en användbar produkt och jag kan intressera tonåringarna så kanske...

Författare:  Laserboy [ 06.58 2016-12-14 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag är definitivt intresserad av din pryl. Har själv tänkt sätta ihop en liknande men det finns ju alltid något annat att pyssla med när man har hus :-)

En sak som jag skulle uppskatta är att man kan hämta data och skicka data till/från andra system med tex REST, HTTP GET eller något liknande. Jag kanske blandar ihop begreppen här men vad jag menar är att tex kunna starta pool värmaren eller ändra pool temperaturen från tex Domoticz som jag också kör.

Det är som sagt mycket att göra med annat. Hur snabbt förväntar du dig respons och kommentarer?

Författare:  Wedge [ 23.15 2016-12-29 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det där lät intressant!
Anmäler såklart mitt intresse! Har en 1230 att testa på.

Edit: PM var det, ja!

Författare:  Tnemrap [ 21.13 2017-01-02 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Är det någon som lyckats få till en lösning som kan ändra värdena i pumpen?

Jag kör själv en vb.net lösning som läser värdena och skriver in de i en MySQL db.

/Mike

Författare:  Tnemrap [ 00.06 2017-01-04 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Är det någon som har en c snurra som läser rs485 datat. Jag skulle hellre köra den på Raspberry PI.

/Mike

Författare:  Tnemrap [ 22.47 2017-01-08 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Bilaga:
Nibe.png


Här är ett sätt jag presenterar data jag hämtar via VB.Net snurran.
Nu skulle jag behöva hjälp att göra om mitt (ganska slarviga) VB hack till en c snurra som jag kan göra på Raspberry.

Någon som känner sig manad?

/Mike

Författare:  Tnemrap [ 18.31 2017-01-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Har nu dragit igång @TeamT's lösning och kan både läsa värden och ändra värden i OpenHAB utan några särskilda moduler i vare sig OpenHAB eller TeamT's enhet :D.

Ni kan se hur jag gjorde på http://smartahemforum.se/viewtopic.php?f=5&t=23.

Bilaga:
2017-01-18 15.57.59.png



/Mike

Författare:  mrfrenzy [ 20.24 2017-01-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Väldigt snygg statistik i openhab!

Går det att utöka så man kan ändra värmekurva och förskjutning?

Författare:  Tnemrap [ 21.18 2017-01-18 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Det är bara att lägga in items för kurva och förskjutning och sedan kan du justera de manuellt eller med regler i OpenHAB.

/Mike

Författare:  Tnemrap [ 22.53 2017-01-19 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Jag har ingen Rumsgivare inkopplad till pannan vilket menyvärde är det bäst att ändra, kurvan, förskjutningen eller går det att ändra något annat värde typ kompensering yttre?

/Mike

Författare:  mrfrenzy [ 23.52 2017-01-19 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Om du har fel temperatur när det är kallt ute så ändrar du kurvan.

Om du har fel temperatur när det är varmt ute så ändrar du förskjutningen.

Upprepa några cykler sen har du konstant inomhustemperatur oavsett utomhustemperatur.

Författare:  Tnemrap [ 08.09 2017-01-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Tack

Då ska jag bygga en regel i OpenHAB som får hålla koll på detta och justera :)

/Mike

Författare:  mrfrenzy [ 19.59 2017-01-20 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Kanske lite lyxigt att bygga en regel just för detta. Man justerar ju en gång sen behöver det aldrig ändras såvida man inte tillägsisolerar eller byter fönster.

Dock vore det väldigt trevligt med statistik över förhållandet mellan ute och innertemperatur så man kan se om det behöver ändras.

Jag har tänkt att bygga en sådan graf men inte hunnit ännu.

Författare:  Tnemrap [ 15.23 2017-01-21 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

mrfrenzy skrev:
Om du har fel temperatur när det är kallt ute så ändrar du kurvan.

Om du har fel temperatur när det är varmt ute så ändrar du förskjutningen.

Upprepa några cykler sen har du konstant inomhustemperatur oavsett utomhustemperatur.


Menar du med varmt över 0 och kallt under?

/Mike

Författare:  mrfrenzy [ 16.30 2017-01-21 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Yes.

Författare:  M76 [ 14.18 2017-03-03 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Är det någon som gjort några framsteg med att skriva data direkt till de modernare värmepumparna (F370, F1x45, F1x55) via RS485 ännu?
Jag kopplade in en RMU40 (displayenhet med viss fjärrstyrning och inbyggd tempgivare) enhet och sniffade lite data för att söka bli klok på hur det går till att skriva till pumpen blir förstår det inte, ännu iaf.

Kanske någon annan får idéer om hur det görs? Jag har tolkat viss data mha NibeGW koden och annan info jag hittat här i tråden.

Först står det tid i ms, alla meddelande börja med 5C 00 vad jag förstår, 19 tycks vara adress till RMU40? Sedan kommando och längd. Skumt nog är längd ibland 00 trots att det finns data? 06 på slutet är ACK från den som tagit emot data, ibland saknas det, troligen för att RMU40 inte hunnit med att svara, den är låångsam när man trycker på knappar etc.

VP:n tycks skicka ut varmvattentemp (13 02 = 53,1), innetemp (DF 00 = 22,3), utetemp (ej säker på vilka bytes) och klockan (16 22 = 22:34) hela tiden, se först raden.
I data nedan ändrar jag önskad temp inne först till 20,0C och sedan 22,5C, tycks göras med kommando 60.

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
0017839  5C 00 19 62 19 09 00 13 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 22 00 01 00 00 01 00 24 06
0018702  5C 00 19 60 00 79 C0 60 03 06 D0 00 75 06
0019707  5C 00 19 62 19 09 00 13 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 22 00 01 00 00 01 00 24 06
0020703  5C 00 19 60 00 79 06
0021701  5C 00 19 62 19 09 00 14 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 22 00 01 00 00 01 00 23 06
0022703  5C 00 19 60 00 79 C0 60 03 09 C8 00 62 06                        // C8 = 200 = 20,0C
0023706  5C 00 19 62 19 0A 00 14 02 96 00 00 00 DF 00 00 00 00 00 00 03 19 16 22 00 01 00 00 01 00 19 06
0024707  5C 00 19 63 00 7A C0 60 02 63 00 C1 06
0025705  5C 00 19 62 19 09 00 13 02 96 00 00 00 DF 00 00 00 00 00 00 03 19 16 22 00 01 00 00 01 00 1D 06
0026703  5C 00 19 60 00 79 06
0027709  5C 00 19 62 19 09 00 13 02 96 00 00 00 DF 00 00 00 00 00 00 03 19 16 23 00 01 00 00 01 00 1C 06
0028703  5C 00 19 60 00 79 C0 60 03 06 D1 00 74 06
0029708  5C 00 19 62 19 09 00 13 02 96 00 00 00 DF 00 00 00 00 00 00 03 19 16 23 00 01 00 00 01 00 1C 06
0030709  5C 00 19 60 00 79 C0 60 03 09 E1 00 4B 06                        // E1 = 225 = 22,5C
0031711  5C 00 19 62 19 09 00 13 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 23 00 01 00 00 01 00 25 06
0032709  5C 00 19 60 00 79 06
0033713  5C 00 19 62 19 09 00 14 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 23 00 01 00 00 01 00 22 06
0034713  5C 00 19 63 00 7A
0034821  5C 00 19 63 00 7A
0034929  5C 00 19 63 00 7A C0 60 02 63 00 C1 06
0035715  5C 00 19 62 19 09 00 14 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 23 00 01 00 00 01 00 22
0035850  5C 00 19 62 19 09 00 14 02 AF 00 00 00 DF 00 00 00 00 00 00 03 19 16 23 00 01 00 00 01 00 22 06


Något jag inte blir klok på vilka register som data skickas till, det borde gå att räkna fram registeradresser inom området 40000-50000 någon stans för att få det att stämma med hur Nibe namnger sina register...?

Jag testade lite också med att låta arduinon koda av data som 9-bitars för att se om det gav något, men det kändes inte som det...

Kanske någon annan får några idéer?

// Magnus

Författare:  hgb [ 16.08 2017-12-07 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Tjenare!
Jeg har en Nibe Fighter 1240, som jeg har lyst til å følge med på hva gjør. Jeg ser jeg trenger en RS-485 <-> RS-232 (eller til USB), men hvor skal egentlig RS-485 kobles til? Er det RJ-45-pluggen, eller er det noe annet sted?

Bilde av kortet vedlagt.

Författare:  TeamT [ 10.30 2017-12-27 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Edit 2018-01-07

Tack alla testpiloter, här är senaste versionen av MyHeatPump - ett alternativ till Nibes RCU.

https://sites.google.com/view/myheatpump
https://sites.google.com/view/myheatpump/demo

Fungerar (just nu) till: Nibe Fighter
- 1120
- 1130
- 1130/35/40
- 1220
- 1230
- 1230/35/40

Anpassning till Nibe Fighter 360P pågår

I korthet:
- Liten och lätt, väger 50 gram
- Enkel installation - bara att trycka i RJ85-kontakten
- Spänningsmatas från värmepumpens RJ85-kontaktakt - inget externt spänningsaggregat behövs
- Ansluts enkelt till ditt befintliga WiFi-nätverk
- Fungerar övergripande som Nibes RCU och läser kontinuerligt av alla paket adresserade till RCU, sparar och visar alla värmepumpens parametrar
- Kan skriva till värmepumpens alla skrivbara parametrar
- Har integrerad web-server med webbaserat gränssnitt (du behöver inte låsa upp någon PC allt finns på MyHeatPump)
- Visar grafer över temperaturer (10h + dygn), drifttider (år) och kompressorstarter (år)
- Mailar & SMSar larm - om du vill
- Laddar upp grafer och logfiler till din Dropbox - om du vill
- Webgränssnittet är tillgängligt på Internet utanför din brandvägg m.h.a. Dropbox API:er (autentisering via Dropbox) - om du vill
- Kommunicerar via Modbus TCP om du vill integrera värmepumpen men annan utrustning - om du vill
- Har http-API:er för intergation till t.ex. OpenHAB
- Enkel uppgradering till nya versioner (firmware)
- Baserad på Open Source-komponenter
- Full access till Linux-servern (distributionen OpenWRT) om du för eget bruk vill modifiera webgränssnitt och installera eller utveckla egen programvara
- Inga årsavgifter eller krav på abonnemang

Författare:  TeamT [ 15.20 2018-01-03 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Mer info om MyHeatPump för intreserade finns här https://sites.google.com/view/myheatpump

Författare:  RadioDJ [ 16.06 2018-01-03 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Några planer på att även lägga med Nibe 1145???

Författare:  TeamT [ 19.16 2018-01-04 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Citera:
Några planer på att även lägga med Nibe 1145???


Jo, nu eftersom jag nyss hittade en spec. på protokollet. Testpilot?

/ TeamT

Författare:  RadioDJ [ 20.50 2018-01-04 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Kan mycket väl tänka mig att bli testpilot till dig.
Vad behöver jag inskaffa för detta? Värmepumpen har jag redan....

Författare:  fredswed [ 19.59 2018-01-06 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

TeamT skrev:
Tack alla testpiloter, här är senaste versionen av MyHeatPump - ett alternativ till Nibes RCU.
[---]
Anpassning till Nibe Fighter 360P pågår

Great minds think alike, och fler än jag fixar tydligen under jullovet :D

Jag har kopplat (mest) och kodat (lite mindre) under jul och nyår för att få ihop det med min 360P. Siktet är att koppla till OpenHAB mest för avläsning och i mindre mån för styrning. Har mest suttit och läst gamla inlägg om protokollen den senaste veckan och vacklar just nu mellan en Arduino-lösning och Raspberry Pi. Men så ser jag plötsligt att det händer en lite nytt så här i slutet av tråden. Kul!

Eller kort och gott: Jag hänger gärna med i myHeatPump och kan testa på en F360P. :wink:

Författare:  Hedis [ 20.40 2018-01-06 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Om du ändå ska ut på nätverk med den så kanske en ESP8266 eller en ESP32 kan fungera?

Författare:  fredswed [ 21.06 2018-01-06 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

Ja en NodeMCU skulle utan tvekan klara jobbet, eller varför inte en Wemos D1. Jag skulle nog helst köra något sådant. Men nu råkar det redan stå en Raspberry med RS485 på städskåpet bredvid värmepumpen. Den ger högre bekvämlighet eftersom jag kan sitta i tv-soffan och programmera.

Alla dessa svåra val inom hemautomation! :D

Författare:  Tnemrap [ 14.09 2018-01-12 ]
Inläggsrubrik:  Re: PC-styrning av Bergvärmepump

fredswed skrev:
TeamT skrev:
Tack alla testpiloter, här är senaste versionen av MyHeatPump - ett alternativ till Nibes RCU.
[---]
Anpassning till Nibe Fighter 360P pågår

Great minds think alike, och fler än jag fixar tydligen under jullovet :D

Jag har kopplat (mest) och kodat (lite mindre) under jul och nyår för att få ihop det med min 360P. Siktet är att koppla till OpenHAB mest för avläsning och i mindre mån för styrning. Har mest suttit och läst gamla inlägg om protokollen den senaste veckan och vacklar just nu mellan en Arduino-lösning och Raspberry Pi. Men så ser jag plötsligt att det händer en lite nytt så här i slutet av tråden. Kul!

Eller kort och gott: Jag hänger gärna med i myHeatPump och kan testa på en F360P. :wink:


Jag kör myHeatPump med en F1235 fullt integrerat med Openhab.

/Mike

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