Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

  • Viestiketjun aloittaja Viestiketjun aloittaja Deleted member 1344
  • Aloituspäivämäärä Aloituspäivämäärä
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

IR-ledin voit varastaa vaikka vanhasta kaukosäätimestä. Joku vastus olisi hyvä olla välissä, arvolla ei ole niin väliä. Vaikka en ole kyllä saanut yhtään ESP8266 / Arduino -rautaa rikki ilman vastustakaan. Kantama on vähintään muutamia metrejä, mutta ei niin hyvä kuin oikealla kaukosäätimellä.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Infrapunalähetin 2,3 euroa ilman lähetyskuluja
https://www.dx.com/fi/p/produino-ir-transmitter-module-for-arduino-blue-works-with-official-arduino-boards-288657#.W6S1mBSU85k
Wemos ja arduino yhteen sopiva
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Hain perjantaina ir-ledejä ja olin niitä kytkemässä kiinni. Ajattelin ottaa verkon yli yhteyden että katsoisin mihin pinniin konffasin tuon ir:n. No samassa muistin että vaihdoin männäviikolla sisäverkon dhcp:n jakamaan eri osoitteita ettei mene modeemin kanssa päällekäin reititin. Noh en tietysti enään tiennyt mikä ip laittella on eikä se edes reitittimen hallintasivuilta löytynyt. Ei siis yhdistänyt verkkoon. Koitin uudestaan flashata firmistä sisään, mutta en saa tuota esp:tä enään luomaan sitä verkkoa mihin yhdistämällä alkukonffaus tehtiin. Osaako joku antaa fiksuja neuvoja?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Laita koneeseen joku kehitysympäristö kuten Arduino IDE tai PlatformIO. Tai sitten joku pääteohjelma kuten Realterm. ESP koneeseen kiinni USB-kaapelilla, terminaaliyhteys auki nopeudella 115200 baud ja sitten painat ESP:n reset-nappia ja katsot mitän tulee ruudulle, siinä pitäisi näkyä myös IP-osoite.

Jos tuo ei saa yhteyttä WLAN-verkkoon, sen kyllä pitäisi luoda oma verkkonsa jonka pitäisi olla näkyvissä kaikille -> pääsee sisälle osoitteen 192.168.4.1 kautta kun kytkeytyy ko. verkkoon.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Niinpä tietysti, eli ilmeisesti nuo wlan asetukset eivät katoa vaikka firmistä flashaa uusiksi. Yhdisti siis uudelleen wlaniin koska se oli saman niminen, mutta uudella ip:llä. yhteys pelaa taas ja yritin http:llä lähetellä tuolle viestejä, mutta en saa kyllä ir:stä mitään ulos. Yritin kameran kanssa katsella vilkahtaako ledi ollenkaan mutta mielestäni ei. Vastauksena tulee kuitenkin aina "P115: Heatpump IR code transmitted", joten jollain tasolla tuo kyllä toimii. Pitää tutkiskella missä vielä häikkää.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Laita siihen joku tavallinen ledi IR:n tilalle, niin näet että toimiiko. Sillä tuon koodin lähetyksen vilkkumisen näkee selvästi.

Jos tuo kuittaa "P115: Heatpump IR code transmitted", niin se on tunnistanut parametrit oikein ja on onnistuneesti lähettänyt jotain.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

5mm superkirkkaalla ledillä testattuna kyllähän tuo vilkahtaa aivan oikein. Täytyy testata aivan tuossa pumpun kyljessä kiinni jos tuo ir signaali on sen verran himmeä. Täytyy perehtyä tuohon domoticzin liitäntään sen jälkeen.

Edit. Tietysti tuli mieleen onkohan minulla oikea kirjasto käytössä eli mikä mahtaa olla HZ9RKE:lle sopiva kirjasto?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Koita mallia 'panasonic_lke', itse asiassa kaikki Panasonicit ovat aika lailla samoja (https://github.com/ToniA/arduino-heatpumpir/blob/master/PanasonicHeatpumpIR.cpp).

Sitten on sellainen mahdollisuus, että tuo malli on sen verran uudempi että protokolla on muuttunut. Mökkinaapurilla on joku uudempi Panasonic, enkä selvittänyt sen protokollaa juurta jaksaen vaan ohjaan sitä valmiilla näytteillä: https://github.com/ToniA/arduino-heatpumpir/blob/master/examples/PanasonicRelayControl/PanasonicRelayControl.ino

Jos vikana on tuo, niin sitten pitäisi selvittää miten tuo uudempi protokolla toimii. Se näyttää hyvin samanlaiselta, mutta jotain kenttäeroja siinä oli enkä parissa tunnissa saanut sitä pähkinää pureskeltua.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Ainakin lke:n on/off komennot toimivat oikein, joten olettaisin että saattaa olla samat komennot. Täytyy tuo domoticz kytkentä rakentaa kuntoon niin on helpompi testailla toimiiko nuo muutkin ominaisuudet myöskin. Vaikuttaa kuitenkin lupaavalta siis. ;)
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Domoticzin olen nyt konffannut näiden ohjeiden perusteella https://www.domoticz.com/wiki/ESPEasy_Aircondition_Inverter_IR_control
Lua scriptiin olen vaihtanut oikean ip:n sekä pumpun mallin mutta tuntuu että tuo ei ilmeisesti liipaise tuota lua scriptiä. Kuitenkin varmaan oikeassa kansiossa tuo kun on /Domoticz/scripts/lua/ ja en tuosta oikein mitään vikaa mielestäni löydä. Miten pääsisi debuggaamaan jostain tuota?

Edit. Lua scripti piti ollakin oikealla tavalla nimetty jotta triggeröityy. Nyt siis toimii. Täytyy testailla miten tuo kirjasto nyt pelaa. Domoticz wikissä olevassa ohjeessa on myös melko paljon bugeja/kirjoitusvirheitä myös. Vaatii siis jonkin verran muokkausta.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Nyt olen domoticzin ja http:n yli testaillut ohjausta. Kaikki muut tuntuu toimivan, mutta tuo vaakasuunnan läppien ohjaus ei pelitä. Tässä on tuo lua scripti mitä käytän ja tosiaan olen suoraan http:n ylikin yrittänyt eri arvoja tuohon vaakasuunnan ohjaukseen, mutta sillä ei ole vaikutusta. Mahtaako olla sen verran eroa lke:n ohjauksiin että tuossa olisi eri koodit?

Koodi:
--Set espeasy heatpump IP address
local ipadress = '192.168.10.9'
local model = 'panasonic_lke'

commandArray = {}
for key, value in pairs(devicechanged) do
  if (key == 'AC Mode' or key == 'AC Fan Speed' or key == 'AC Set Temperature' or key == 'AC Hor dir' or key == 'AC Ver dir') then

    print ("HeatpumpIR event started")

-- Power mode is ON if operating modes are in use
--// Power state
--#define POWER_OFF   0
--#define POWER_ON    1
    local power = 1


--// Operating modes
--#define MODE_AUTO   1
--#define MODE_HEAT   2
--#define MODE_COOL   3
--#define MODE_DRY    4
--#define MODE_FAN    5
--#define MODE_MAINT  6
    local mode = 2
    if (otherdevices['AC Mode']) == 'Off' then
        mode = 0
        power = 0
    elseif (otherdevices['AC Mode'] == 'Auto') then
        mode = 1        
    elseif (otherdevices['AC Mode'] == 'Heat') then
        mode = 2        
    elseif (otherdevices['AC Mode'] == 'Cool') then
        mode = 3        
    elseif (otherdevices['AC Mode'] == 'Dry') then
        mode = 4        
    elseif (otherdevices['AC Mode'] == 'Fan') then
        mode = 5        
    elseif (otherdevices['AC Mode'] == 'Maint') then
        mode = 6        
    end

--print (otherdevices_svalues['AC mode'])
 --for i, v in pairs(devicechanged) do print(i, v) end

--// Fan speeds. Note that some heatpumps have less than 5 fan speeds
--#define FAN_AUTO    0
--#define FAN_1       1
--#define FAN_2       2
--#define FAN_3       3
--#define FAN_4       4
--#define FAN_5       5
    local fan = 1
    if (otherdevices['AC Fan Speed']) == 'Auto' then
        fan = 0
    elseif (otherdevices['AC Fan Speed']) == '1' then
        fan = 1        
    elseif (otherdevices['AC Fan Speed']) == '2' then
        fan = 2        
    elseif (otherdevices['AC Fan Speed']) == '3' then
        fan = 3        
    elseif (otherdevices['AC Fan Speed']) == '4' then
        fan = 4        
    elseif (otherdevices['AC Fan Speed']) == '5' then
        fan = 5
    end

--Set temperature
    local settemperature = 23
    settemperature = tonumber(otherdevices['AC Set Temperature'])


--// Vertical air directions. Note that these cannot be set on all heat pumps
--#define VDIR_AUTO   1
--#define VDIR_UP     2
--#define VDIR_MUP    3
--#define VDIR_MIDDLE 4
--#define VDIR_MDOWN  5
--#define VDIR_DOWN   6
    local verdir = 1
    if (otherdevices['AC Ver dir']) == 'Auto' then
        verdir = 1       
    elseif (otherdevices['AC Ver dir']) == 'Up' then
        verdir = 2        
    elseif (otherdevices['AC Ver dir']) == 'Mid-Up' then
        verdir = 3        
    elseif (otherdevices['AC Ver dir']) == 'Middle' then
        verdir = 4        
    elseif (otherdevices['AC Ver dir']) == 'Mid-Down' then
        verdir = 5
    elseif (otherdevices['AC Ver dir']) == 'Down' then
        verdir = 6
    end


--// Horizontal air directions. Note that these cannot be set on all heat pumps
--#define HDIR_AUTO   1
--#define HDIR_MIDDLE 2
--#define HDIR_LEFT   3
--#define HDIR_MLEFT  4
--#define HDIR_MRIGHT 5
--#define HDIR_RIGHT  6
    local hordir = 1
    if (otherdevices['AC Hor dir']) == 'Auto' then
        hordir = 1         
    elseif (otherdevices['AC Hor dir']) == 'Middle' then
        hordir = 2        
    elseif (otherdevices['AC Hor dir']) == 'Mid-Left' then
        hordir = 3        
    elseif (otherdevices['AC Hor dir']) == 'Left' then
        hordir = 4        
    elseif (otherdevices['AC Hor dir']) == 'Mid-Right' then
        hordir = 5
    elseif (otherdevices['AC Hor dir']) == 'Right' then
        hordir = 6
    end
 

    print ("HeatpumpIR event transmitted")

    print ('http://'..ipadress..'/control?cmd=heatpumpir,'..model..','..power..','..mode..','..fan..','..settemperature..','..verdir..','..hordir)
    commandArray['OpenURL'] = 'http://'..ipadress..'/control?cmd=heatpumpir,'..model..','..power..','..mode..','..fan..','..settemperature..','..verdir..','..hordir
    end
end
return commandArray
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Joo, silloin kun mulla oli useampi Panasonicin kaukosäädin lainassa (oma on DKE), ainakin niissä ei ollut vaakasuuntaista säätöä, se näkyy myös koodissa:

https://github.com/ToniA/arduino-heatpumpir/blob/master/PanasonicHeatpumpIR.cpp#L217

Mutta kokeile josko tuo menisi mallina panasonic_dke?
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Toni sanoi:
Joo, silloin kun mulla oli useampi Panasonicin kaukosäädin lainassa (oma on DKE), ainakin niissä ei ollut vaakasuuntaista säätöä, se näkyy myös koodissa:

https://github.com/ToniA/arduino-heatpumpir/blob/master/PanasonicHeatpumpIR.cpp#L217

Mutta kokeile josko tuo menisi mallina panasonic_dke?

Tuolla dke:lla alkoi liikettä jo tulemaan. Pitää vielä testailla kunnolla että mikä asetus on mikäkin asento. Kiitoksia jälleen siis. Seuraava etappi on varmaan tehdä nuo quiet ja powerful moodit myös kun niihin näytti olevan kirjastossa kanssa koodit. Tosin en tiedä paljonko niitä tulee todellisuudessa käytettyä. Lähinnä koko etä ir:ää havittelin siksi että voin aikaohjelmat ja muut ehdot luoda domoticziin millä voin pumppua ohjailla.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Lisäilin ir-ledille bc547 transistorin niin nyt sain kantamaa lediinkin ihan eri tavalla. Tuosta suunnitellulta paikalta noin 3,5m päästä ottaa signaalin ainakin hyvin joten eiköhän tuo koteloida ja asenneta seinälle.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Mikäs teema Tonilla on domoticzissa käytössä? En ole itse löytänyt mitään mieleistä missä nuo katkaisijoiden useat tilat saisi näkymään järkevästi ja mobiililla näkymä olisi järkevä. Mielellään saisi olla vielä tumma teema.
 
Vs: Ilmalämpöpumpun etäohjaus Arduinolla ja älypuhelimella

Onko kukaan virittänyt tätä Tonin tekemää ohjausta home assistanttiin?
Vissiin liikaa aikaa niin alotin tuohon perehtymisen [emoji4]
 
Meni pumppu vaihtoon niin pitää ohjaukset päivittää.
Näissä uusissa panoissa(HZ-25TKE) on puolen asteen tarkkuudella lämmön säätö. Tuota ei taida vielä mukana Tonin kirjastossa ?
 
Ei ole, pitäisi sämplätä uusi protokolla ja katsoa miten se toimii. Mulla on vaan nuo ikivanhat E12-CKP ja e12-DKE kotona, sekä Fujitsu.
 
Ota vaikka vanhasta kaukosäätimestä. Tai jos pitää ostaa, niin 940 nm aallonpituuden infrapunaledi. Sarjaan jonkin vastuksen kanssa, vaikka kiloinen, ei ole niin tarkkaa. Kantama sitten ole mitään viittä metriä.
 
Kiitos, jotenkin arvelinkin että ne löytyy jostain helposta paikasta :)
ILP on vanha sharp, kaukosäädin mallia CRMC-A669JBEZ. Ei tietenkään toimi vaan pitää dekoodata.. Mulla taitaa olla viallinen vs1838b kun en saa mitään vastaanotettua. Jotain ilmeisesti pitäisi tulla näkyviin kun painelee nappuloita valinnan 1-5 jälkeen
 
Sain dekooderin toimintaan toisella vastaanottimella. dekooderi tunnistaa kaukosäätimen sharpiksi ja näyttää komennot oikein. Tunnistaa myös espeasylla lähetetyt komennot samalla tavalla. mutta pumppu ei tee mitään vaikka lähetin (esp) on sentin päässä.
 
Outoa, olen käyttänyt tuota ihan onnistuneesti IVT (eli Sharp) -pumpun kanssa. Jos dekooderi antaa saman tuloksen kuin oikea kaukosäädin (myös bittijono sama) niin luulisi signaalin kelpaavan pumpulle.
 
25 astetta on kakesta ja 26 espeasy
Koodi:
18:21:12.480 -> Select model to decode (this affects the IR signal timings detection):
18:21:12.547 -> * '1' for Panasonic DKE>, Mitsubishi Electric, Fujitsu etc. codes
18:21:12.616 -> * '2' for Panasonic CKP, Midea etc. codes
18:21:12.651 -> * '3' for Mitsubishi Heavy etc. codes
18:21:12.684 -> * '4' for Hyundai etc. codes
18:21:12.719 -> * '5' for Samsung etc. codes
18:21:12.754 -> * '9' for entering the bit sequence on the serial monitor (instead of the IR receiver)
18:21:12.858 ->
18:21:12.858 -> Enter choice: 4
18:21:15.077 ->
18:21:15.077 -> Ready to decode IR for choice '4'
18:21:15.111 ->
18:21:15.111 ->
18:21:21.304 ->
18:21:21.304 -> Number of symbols: 107
18:21:21.304 -> Symbols:
18:21:21.339 -> Hh01010101010110101111001100001000000100001000110001000100010010000001000000000001001000000000111110000111
18:21:21.442 -> Bytes:
18:21:21.442 -> 00:  0101|0101 | AA | 10101010
18:21:21.474 -> 01:  0101|1010 | 5A | 01011010
18:21:21.510 -> 02:  1111|0011 | CF | 11001111
18:21:21.545 -> 03:  0000|1000 | 10 | 00010000
18:21:21.578 -> 04:  0001|0000 | 08 | 00001000
18:21:21.613 -> 05:  1000|1100 | 31 | 00110001
18:21:21.648 -> 06:  0100|0100 | 22 | 00100010
18:21:21.681 -> 07:  0100|1000 | 12 | 00010010
18:21:21.716 -> 08:  0001|0000 | 08 | 00001000
18:21:21.786 -> 09:  0000|0001 | 80 | 10000000
18:21:21.821 -> 10:  0010|0000 | 04 | 00000100
18:21:21.855 -> 11:  0000|1111 | F0 | 11110000
18:21:21.891 -> 12:  1000|0111 | E1 | 11100001
18:21:21.926 -> AA,5A,CF,10,08,31,22,12,08,80,04,F0,E1
18:21:21.961 -> Timings (in us):
18:21:21.961 -> PAUSE SPACE:  0
18:21:21.994 -> HEADER MARK:  3840
18:21:22.029 -> HEADER SPACE: 1860
18:21:22.029 -> BIT MARK:     400
18:21:22.063 -> ZERO SPACE:   459
18:21:22.063 -> ONE SPACE:    1432
18:21:22.097 -> Decoding known protocols...
18:21:22.132 -> Looks like a Sharp protocol
18:21:22.132 -> POWER ON
18:21:22.132 -> MODE COOL
18:21:22.167 -> Temperature: 25
18:21:22.167 -> FAN: AUTO
18:21:22.167 -> Checksum '0xE' matches
18:22:12.705 ->
18:22:12.705 -> Number of symbols: 7
18:22:12.705 -> Symbols:
18:22:12.740 -> Whhh1h
18:22:12.740 -> Bytes:
18:22:12.740 -> 00:  1
18:22:12.740 -> Timings (in us):
18:22:12.774 -> PAUSE SPACE:  13448
18:22:12.808 -> HEADER MARK:  0
18:22:12.808 -> HEADER SPACE: 4974
18:22:12.843 -> BIT MARK:     125
18:22:12.843 -> ZERO SPACE:   0
18:22:12.877 -> ONE SPACE:    860
18:22:12.877 -> Decoding known protocols...
18:22:12.911 -> Unknown protocol
18:22:12.981 -> Bytecount: 0
18:22:50.500 ->
18:22:50.500 -> Number of symbols: 107
18:22:50.500 -> Symbols:
18:22:50.533 -> Hh01010101010110101111001100001000100100001000110001001110011000000001000000000001001000000000111110001111
18:22:50.607 -> Bytes:
18:22:50.607 -> 00:  0101|0101 | AA | 10101010
18:22:50.637 -> 01:  0101|1010 | 5A | 01011010
18:22:50.672 -> 02:  1111|0011 | CF | 11001111
18:22:50.707 -> 03:  0000|1000 | 10 | 00010000
18:22:50.741 -> 04:  1001|0000 | 09 | 00001001
18:22:50.775 -> 05:  1000|1100 | 31 | 00110001
18:22:50.809 -> 06:  0100|1110 | 72 | 01110010
18:22:50.843 -> 07:  0110|0000 | 06 | 00000110
18:22:50.876 -> 08:  0001|0000 | 08 | 00001000
18:22:50.945 -> 09:  0000|0001 | 80 | 10000000
18:22:50.980 -> 10:  0010|0000 | 04 | 00000100
18:22:51.015 -> 11:  0000|1111 | F0 | 11110000
18:22:51.049 -> 12:  1000|1111 | F1 | 11110001
18:22:51.083 -> AA,5A,CF,10,09,31,72,06,08,80,04,F0,F1
18:22:51.118 -> Timings (in us):
18:22:51.118 -> PAUSE SPACE:  0
18:22:51.153 -> HEADER MARK:  3560
18:22:51.186 -> HEADER SPACE: 1760
18:22:51.186 -> BIT MARK:     380
18:22:51.220 -> ZERO SPACE:   415
18:22:51.220 -> ONE SPACE:    1414
18:22:51.254 -> Decoding known protocols...
18:22:51.289 -> Looks like a Sharp protocol
18:22:51.324 -> POWER ON
18:22:51.324 -> MODE COOL
18:22:51.359 -> Temperature: 26
18:22:51.359 -> FAN: 3
18:22:51.359 -> Checksum '0xF' matches
18:30:05.395 ->
18:30:05.395 -> Number of symbols: 2
18:30:05.395 -> Symbols:
18:30:05.430 -> h
18:30:05.430 -> Bytes:
18:30:05.430 ->
18:30:05.430 -> Timings (in us):
18:30:05.467 -> PAUSE SPACE:  0
18:30:05.467 -> HEADER MARK:  0
18:30:05.467 -> HEADER SPACE: 3360
18:30:05.467 -> BIT MARK:     140
18:30:05.594 -> ZERO SPACE:   0
18:30:05.594 -> ONE SPACE:    0
18:30:05.594 -> Decoding known protocols...
18:30:05.594 -> Unknown protocol
18:30:05.594 -> Bytecount: 0
18:30:08.490 ->
18:30:08.490 -> Number of symbols: 11
18:30:08.490 -> Symbols:
18:30:08.524 -> Whh0hh1Whh
18:30:08.524 -> Bytes:
18:30:08.524 -> 00:  000:  1
18:30:08.559 -> Timings (in us):
18:30:08.559 -> PAUSE SPACE:  15050
18:30:08.594 -> HEADER MARK:  0
18:30:08.594 -> HEADER SPACE: 4260
18:30:08.629 -> BIT MARK:     126
18:30:08.664 -> ZERO SPACE:   720
18:30:08.664 -> ONE SPACE:    2040
18:30:08.699 -> Decoding known protocols...
18:30:08.734 -> Unknown protocol
18:30:08.734 -> Bytecount: 0
18:30:23.471 ->
18:30:23.471 -> Number of symbols: 107
18:30:23.471 -> Symbols:
18:30:23.506 -> Hh01010101010110101111001100001000100100001000110001001110011000000001000000000001001000000000111110001111
18:30:23.611 -> Bytes:
18:30:23.611 -> 00:  0101|0101 | AA | 10101010
18:30:23.646 -> 01:  0101|1010 | 5A | 01011010
18:30:23.680 -> 02:  1111|0011 | CF | 11001111
18:30:23.715 -> 03:  0000|1000 | 10 | 00010000
18:30:23.748 -> 04:  1001|0000 | 09 | 00001001
18:30:23.782 -> 05:  1000|1100 | 31 | 00110001
18:30:23.817 -> 06:  0100|1110 | 72 | 01110010
18:30:23.852 -> 07:  0110|0000 | 06 | 00000110
18:30:23.886 -> 08:  0001|0000 | 08 | 00001000
18:30:23.954 -> 09:  0000|0001 | 80 | 10000000
18:30:23.988 -> 10:  0010|0000 | 04 | 00000100
18:30:24.022 -> 11:  0000|1111 | F0 | 11110000
18:30:24.057 -> 12:  1000|1111 | F1 | 11110001
18:30:24.092 -> AA,5A,CF,10,09,31,72,06,08,80,04,F0,F1
18:30:24.126 -> Timings (in us):
18:30:24.126 -> PAUSE SPACE:  0
18:30:24.160 -> HEADER MARK:  3540
18:30:24.194 -> HEADER SPACE: 1780
18:30:24.194 -> BIT MARK:     350
18:30:24.229 -> ZERO SPACE:   442
18:30:24.229 -> ONE SPACE:    1449
18:30:24.263 -> Decoding known protocols...
18:30:24.297 -> Looks like a Sharp protocol
18:30:24.331 -> POWER ON
18:30:24.331 -> MODE COOL
18:30:24.365 -> Temperature: 26
18:30:24.365 -> FAN: 3
18:30:24.365 -> Checksum '0xF' matches
 
Tänään oli taas aikaa tutkia tätä lisää, ei se koodi ihan sama olekaan. Vasen on kirjaston sharp ja oikea kaukosäätimestä

sharp.png
 
Hmm...
  • tavu 05, 0x31 vs. 0x11 on virtatila. Siinä kaukosäätimessä jonka mä sain, power on oli tuo 0x31 ja power off 0x21, ja nyt tuossa on 0x11
  • tavu 07, en osaa sanoa mikä sen merkitys on, se on tuolla kirjastolla aina 0x06
  • tavu 10, sama juttu kuin yllä
  • tavu 12 on tarkistussumma, jos signaali on eri, niin tarkistussummakin muuttuu
Ajoitustenkin pitäisi olla riittävän lähellä, niiden kanssa on vähän niin että vaikka miten koittaa säätää pituudet kohdalleen, niin aina jossain toisessa laitteessa ne ovat enemmän tai vähemmän sinne päin.

Toinen vaihtoehto olisi kokeilla saman ESPEasy-imagen pluginia 'Communication - IR Transmit': https://espeasy.readthedocs.io/en/latest/Plugin/P035.html#p035-page

Itse en ole sitä kokeillut, mutta tuossa on jotain esimerkkiä: https://www.letscontrolit.com/forum/viewtopic.php?f=2&t=7072#p39697, laitenimi olisi kaiketi 'SHARP_AC'.
 
Kaikki muu toimii paitsi 'power on'. Miten tuon ivt:n 'power on' komennon saa käyttöön?
Koodi:
// IVT codes
#define SHARP_AIRCON2_MODE_ON    0x11 // Power ON
 
Enpäs nyt enää itsekään muistanut, piti ihan lukea koodista asti että olihan siellä tuki tuolle. Eli laita MQTT-viestiin malliksi 'ivt' eikä 'sharp', sillä tuon pitäisi vaihtua.
 
Kiitos, 'ivt':llä toimii. Outoa vaan on ettei dekooderi tunnista ollenkaan 'ivt' komentoa mutta samapa tuo kun pumppu sen tunnistaa
 
No siis tuo dekooderi on ihan erillinen softa. Noista Sharp-pumpuista on vissiin kaksi varianttia IR-protokollan suhteen ja niissä on vähän erilainen bittikuvio käynnistystiedolle. Mutta hienoa että pelittää :)
 
Loistavaa työtä Toni! Mä en edes tajunnut että tää on suomalaista alkuperää, no olisihan se pitänyt tajuta sillä ollaanhan me näissä asioissa edes edelläkävijöitä

Täällä ilmoitattuatuu yksi lisää, FH-35 on energiankulutusseurannassa juu-zon skriptillä vähän modattuna kahdella ds18b20:lla ja sitten IR-ohjaukset. Tähän voi domon kanssa tehdä vaikka mitä älykkyyttä.

Seuraavaksi vuorossa tallissa majaileva Wilfan 12000Btu yksikkö. Varmaan jollakin Green protokollalla lähtee toimimaan. Tämä pumppu varmasti olisikin tärkeämpi optimointikohde. Tällä hetkellä ajautuu aika paljon katkokäynnille. Tosin talli pysyy juuri sen lämpöisenä kun haluan.

COP vaikuttaisi niin paljon paremmalta isoilla nopeuksilla, että pyörin jatkossa ohjaamaan näitä aina täysillä lämmityskaudella jos porukkaa ei ole paikalla.

Täytyypä aloittaa seuraavan yksikön värkkäys kasaan. Mietinnässä olisi vielä pienen ilmamäärämittarin lisääminen, pitäisi vaan olla tosi tarkka paine-ero tms sillä todellisuudessa tuolla on tilanteita että Mitsu ainakin todella hitaasti kiihdyttää ilmamäärää täysille jolloin todellinen teho on pienempi kuin laskennallinen teho pelkän ilmamääräohjaustiedon perusteella.
 
Yhteys Wilfaan saavutettu, protokolla gree_yan näyttäisi ainakin laittavan pumppua päälle ja säätävän lämpötilaa oikein. Eli pian on tämäkin ohjattu. Pitääkö säätöviestissä jättää vika numero kokonaan pois koska pumpulla ei ole vaakasuuntaista säätöä (Gree-yan protokolla)
 
Korjaus, Wilfa -pumpun protokolla olikin Greeyaa.

Vielä kun jostain löytäisin 2 nopeuden oikean ilmamäärän, brosyyrissa vain 1:sen ja kolmosen.
Tämä pumppu oli todella kranttu IR-ledin sijainnille vs mitsu. 100 Ohm vastus molemmissa käytössä.
 
Tulipa lukastua tuon HZ25TKE Panasonicin kaken 22astettaja, 22.5 astetta ja 23 lähetteet arduinolla ja nyt sitten kyselemässä mites saataisiin tonin kirjastoista puukotettua sellaiset että pääsis lähetteleen noita puolena asteen tarkuudella olevia lämpötiloja ?
Laitan tuohon liiteeksi nuo lähetteet ha screenshotin.

Näkeekö joku kokeneempi het "otsikolta" miten tuo puoli astetta "taiotaan" lähetteeseen :)

Oma arvaukseni on, että byte14 2E=23.0 astetta , 2D=22.5 ja 2C22.0
 

Liitetiedostot

Viimeksi muokattu:
Takaisin
Ylös Bottom