{"id":456,"date":"2019-01-23T12:40:16","date_gmt":"2019-01-23T10:40:16","guid":{"rendered":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/?p=456"},"modified":"2022-10-07T14:55:16","modified_gmt":"2022-10-07T11:55:16","slug":"poistoilmalampopumpun-paivitys-osa-2","status":"publish","type":"post","link":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/poistoilmalampopumpun-paivitys-osa-2\/","title":{"rendered":"Nilan EC9 -Poistoilmal\u00e4mp\u00f6pumpun p\u00e4ivitys, osa 2"},"content":{"rendered":"<p><em>Nilan EC9<\/em> poistoilmal\u00e4mp\u00f6pumpun <a href=\"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/poistoilmalampopumpun-paivitys-osa-1\/\">p\u00e4ivityksen ensimm\u00e4isess\u00e4 osassa<\/a> k\u00e4siteltiin\u00a0<em>CTS 600<\/em> -ohjaimen vaihtamista\u00a0<em>CTS 602<\/em>:ksi. <em>CTS 602<\/em> mahdollistaa laitteen et\u00e4ohjauksen, sill\u00e4 sit\u00e4 voi hallita <a href=\"https:\/\/fi.wikipedia.org\/wiki\/RS-485\"><em>RS485<\/em> -v\u00e4yl\u00e4\u00e4<\/a> k\u00e4ytt\u00e4v\u00e4n\u00a0<a href=\"https:\/\/fi.wikipedia.org\/wiki\/Modbus\"><em>Modbus<\/em> -sarjaliikenneprotokollan<\/a>\u00a0avulla.<\/p>\n<p>Et\u00e4ohjauksen kytkent\u00e4\u00e4 varten tarvitaan <em>USB RS485<\/em> -sovitin, jollaisia saa halvimmillaan parilla kympill\u00e4. Valitsin tarkoitukseen kuitenkin hieman laadukkaamman\u00a0<a href=\"https:\/\/hjelmslund.eu\">Hjelmslund Electronicsin USB485-STIXL<\/a>\u00a0sovittimen. Sen <a href=\"https:\/\/www.youtube.com\/watch?v=jlhKVcu2b04\">asetuksia piti muuttaa<\/a> windows-ohjelmistolla ett\u00e4 se tunnistautuisi Linuxissa oikein. Erillisten ajureiden asentamista ei t\u00e4m\u00e4n j\u00e4lkeen pit\u00e4isi tarvita.<\/p>\n<p>Kaapelointi toteutettiin kierretyll\u00e4 parikaapelilla (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Category_5_cable\">Cat5e<\/a>), kuljettamalla kaapeli <em>CTS 602<\/em>:n s\u00e4\u00e4dintilan oikean yl\u00e4reunan l\u00e4piviennin kautta, josta menev\u00e4t my\u00f6s l\u00e4mp\u00f6tila-anturien kaapelit l\u00e4mminvesivaraajalle ja lattial\u00e4mmitykselle. <em>RS485<\/em> kytket\u00e4\u00e4n <em>CTS 602<\/em>:n <em>CN7<\/em> -liittimen nastoihin 2,3 ja 6. Nastat 2 ja 3 ovat <em>RS485<\/em> -v\u00e4yl\u00e4\u00e4 varten ja nasta 6 on maadoitus. Kaapelin toiset p\u00e4\u00e4t kytket\u00e4\u00e4n USB -sovittimen vastaaviin nastoihin.<\/p>\n<p>Kun kaapelointi on tehty ja USB -sovitin toimii oikein, voidaan tiedonsiirtoyhteytt\u00e4 testata sit\u00e4 varten tehdyll\u00e4 <a href=\"https:\/\/github.com\/nickma82\/nilan_communication_bringup\">skriptill\u00e4:<\/a><\/p>\n<pre>TESTING Nilan Connection\n__main__.Nilan&lt;id=0x76a1cd50, address=30, mode=rtu, close_port_after_each_call=False, precalculate_read_size=True, debug=True, serial=Serial&lt;id=0x76a1ce10, open=True&gt;(port='\/dev\/ttyUSB0', baudrate=19200, bytesize=8, parity='E', stopbits=1, timeout=1.0, xonxoff=False, rtscts=False, dsrdtr=False)&gt;\n\nMinimalModbus debug mode. Writing to instrument (expecting 7 bytes back): '\\x1e\\x03\\x03\u00eb\\x00\\x01\u00f6\\x15' (1E 03 03 EB 00 01 F6 15)\nMinimalModbus debug mode. No sleep required before write. Time since previous read: 1544030331973.6 ms, minimum silent period: 2.01 ms.\nMinimalModbus debug mode. Response from instrument: '\\x1e\\x03\\x02\\x00\\x02\u00acG' (1E 03 02 00 02 AC 47) (7 bytes), roundtrip time: 22.9 ms. Timeout setting: 1000.0 ms.\n\nold userVentSet:             2\nnew userVentSet:             1\nConnection to the Nilan instrument looks good!\n<\/pre>\n<p>Jos kaikki toimi oikein, pit\u00e4isi skriptin antaa yll\u00e4 olevan kaltainen tuloste ja Nilanin puhaltimien nopeus pit\u00e4isi olla muuttunut. Virhetilanteessa kannattaa kokeilla vaihtaa v\u00e4yl\u00e4kaapelit toisin p\u00e4in ja tarkistaa onko skriptiss\u00e4 m\u00e4\u00e4ritelty <em>RS485<\/em> -sovittimen k\u00e4ytt\u00e4m\u00e4 USB -portti oikein (oletuksena \/dev\/ttyUSB0).<\/p>\n<p>Modbus -protokollan mukaisesti, Nilanin tiedot on tallennettu kahden tyyppisiin rekistereihin: <em>Input<\/em> -rekistereiss\u00e4 olevaa tietoa ei voida v\u00e4yl\u00e4n kautta muuttaa. T\u00e4llaista tietoa ovat esimerkiksi l\u00e4mp\u00f6tila-antureiden arvot. <i>T<\/i>oinen rekisterityyppi on <em>Holding<\/em> -rekisteri.. Niihin on\u00a0tallennettu tiedot mm. laitteen asetuksista. Holding rekistereiden tietoja on mahdollista muuttaa kirjoittamalla uudet arvot rekistereihin.<\/p>\n<p>Home Assistantissa ei t\u00e4ll\u00e4 hetkell\u00e4 ole (viel\u00e4) suoraa tukea Nilanin laitteiden (<em>CTS 602<\/em>) ohjaamiseen, mutta <a href=\"https:\/\/www.home-assistant.io\/components\/modbus\/\">tuki Modbus -protokollalle<\/a> l\u00f6ytyy. Sit\u00e4 varten <em>configuration.yaml<\/em> -tiedostoon lis\u00e4t\u00e4\u00e4n rivit:<\/p>\n<pre>modbus:\n  type: serial\n  method: rtu\n  port: \/dev\/ttyUSB0\n  baudrate: 19200\n  stopbits: 1\n  bytesize: 8\n  parity: E<\/pre>\n<p>Nilanin tiedot luetaan laitteen rekistereist\u00e4 <a href=\"https:\/\/www.home-assistant.io\/integrations\/modbus\/\">Modbus -sensorien<\/a> avulla.\u00a0<em>CTS 602<\/em>:n k\u00e4ytt\u00e4m\u00e4t rekisterit ja muut tiedot l\u00f6ytyv\u00e4t<a href=\"https:\/\/github.com\/DanGunvald\/NilanModbus\/raw\/master\/MODBUS_CTS-602_2.16-2.19_Installation-and-user-guide.pdf\"> Nilanin ohjeesta<\/a>. Laitteen <em>slave id<\/em> tai <em>node address<\/em> on 30 ja esimerkiksi asetusl\u00e4mp\u00f6tila l\u00f6ytyy <em>holding<\/em> -rekisterist\u00e4 numero <em>1004<\/em>. L\u00e4mp\u00f6tilan arvo rekisteriss\u00e4 on ohjeen mukaan 100 -kertainen, joten sen voi skaalata oikeaksi sensorin asetuksissa:<\/p>\n<pre>- platform: modbus\n  registers:\n    - name: Setpoint temp\n      unit_of_measurement: \u00b0C\n      scale: 0.01\n      slave: 30\n      register: 1004\n      register_type: holding\n<\/pre>\n<p>Home Assistantin k\u00e4ytt\u00f6liittym\u00e4\u00e4 varten, tehd\u00e4\u00e4n <em>configuration.yaml<\/em> -tiedostoon rivit kytkimille ja eri asetusten valinnoille:<\/p>\n<pre>switch:\n  - platform: template\n    switches:\n      nilan_kytkin:\n        friendly_name: \"P\u00e4\u00e4kytkin\"\n        value_template: \"{{ is_state('sensor.nilan_control_run', '1') }}\"\n        turn_on:\n          service: modbus.write_register\n          data_template:\n            unit: 30\n            address: 1001\n            value: 1\n        turn_off:\n          service: modbus.write_register\n          data_template:\n            unit: 30\n            address: 1001\n            value: 0\n\ninput_select:\n  nilan_asetus:\n    name: L\u00e4mmitysvalinta\n    options:\n      - L\u00e4mmitys\n      - J\u00e4\u00e4hdytys\n      - Automaattinen\n    initial: Automaattinen\n    icon: mdi:settings\n\ninput_number:\n  nilan_lampotilapyynto:\n    name: L\u00e4mp\u00f6tilapyynt\u00f6\n    initial: 30\n    min: 15\n    max: 30\n    step: 1\n\n  nilan_ilmanvaihtopyynto:\n    name: Puhaltimet\n    initial: 2\n    min: 0\n    max: 4\n    step: 1\n<\/pre>\n<p>Ylimp\u00e4n\u00e4 k\u00e4ytetty\u00a0<a href=\"https:\/\/www.home-assistant.io\/components\/switch.template\/\">template switch<\/a>\u00a0sis\u00e4lt\u00e4\u00e4 valmiiksi komennot PILP:n k\u00e4ynnist\u00e4miseksi ja sammuttamiseksi. Lis\u00e4ksi\u00a0<em>value_template<\/em> -rivi seuraa <em>nilan_control_run<\/em> -sensorin (<em>holding<\/em>-rekisteri 1001) avulla sein\u00e4paneelin kautta tehtyj\u00e4 muutoksia ja p\u00e4ivitt\u00e4\u00e4 Home Assistantin k\u00e4ytt\u00f6liittym\u00e4ss\u00e4 olevan kytkimen tilan vastaavaksi.<\/p>\n<p>Yll\u00e4 olevien <em>input_select<\/em> ja <em>input_number<\/em> -valintojen k\u00e4ytt\u00e4miseksi k\u00e4ytt\u00f6liittym\u00e4n kautta,\u00a0<em>automations.yaml<\/em> -tiedostoon lis\u00e4t\u00e4\u00e4n alla olevat rivit:<\/p>\n<pre>- alias: 'PILP l\u00e4mmityspyynt\u00f6'\n  trigger:\n    platform: state\n    entity_id: input_number.nilan_lampotilapyynto\n  action:\n    - service: modbus.write_register\n      data_template:\n        unit: 30\n        address: 1004\n        value: \"{{ states('input_number.nilan_lampotilapyynto') | int *100}}\"\n\n- alias: 'PILP l\u00e4mmityspyynn\u00f6n p\u00e4ivitys jos muutettu sein\u00e4paneelista'\n  trigger:\n    platform: state\n    entity_id: sensor.nilan_control_tempset\n  action:\n    service: input_number.set_value\n    data_template:\n      entity_id: input_number.nilan_lampotilapyynto\n      value: \"{{ trigger.to_state.state | int }}\"\n\n- alias: 'PILP ilmanvaihtopyynt\u00f6'\n  trigger:\n    platform: state\n    entity_id: input_number.nilan_ilmanvaihtopyynto\n  action:\n    - service: modbus.write_register\n      data_template:\n        unit: 30\n        address: 1003\n        value: \"{{ states('input_number.nilan_ilmanvaihtopyynto') | int }}\"\n\n- alias: 'PILP ilmanvaihtopyynn\u00f6n p\u00e4ivitys jos muutettu sein\u00e4paneelista'\n  trigger:\n    platform: state\n    entity_id: sensor.nilan_control_ventset\n  action:\n    service: input_number.set_value\n    data_template:\n      entity_id: input_number.nilan_ilmanvaihtopyynto\n      value: \"{{ trigger.to_state.state | int }}\"\n\n- alias: 'PILP asetus'\n  trigger:\n    platform: state\n    entity_id: input_select.nilan_asetus\n  action:\n    - service: modbus.write_register\n      data_template:\n        unit: 30\n        address: 1002\n        value: \"{%if states.input_select.nilan_asetus.state == 'L\u00e4mmitys' %}1{%elif states.input_select.nilan_asetus.state == 'J\u00e4\u00e4hdytys' %}2{%else%}3{%endif%}\"\n\n- alias: 'PILP asetus muutettu sein\u00e4paneelista'\n  trigger:\n    platform: state\n    entity_id: sensor.nilan_control_mode\n  action:\n    service: input_select.select_option\n    data_template:\n      entity_id: input_select.nilan_asetus\n      option: \"{%if trigger.to_state.state | int == 1 %}L\u00e4mmitys{%elif trigger.to_state.state | int == 2%}J\u00e4\u00e4hdytys{%else%}Automaattinen{%endif%}\"\n<\/pre>\n<p>Yll\u00e4 jokaiselle toiminnolle on kaksi automaatiota: toinen v\u00e4litt\u00e4\u00e4 muutokset PILP:lle jos asetuksia on muutettu Home Assistantissa ja toinen p\u00e4ivitt\u00e4\u00e4 Home Assistantin valinnat vastaaviksi, jos asetuksia on muutettu PILP:n sein\u00e4paneelin kautta.<\/p>\n<figure id=\"attachment_498\" aria-describedby=\"caption-attachment-498\" style=\"width: 503px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-498\" src=\"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-asetukset.png\" alt=\"PILP asetukset\" width=\"503\" height=\"478\" srcset=\"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-asetukset.png 503w, https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-asetukset-300x285.png 300w, https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-asetukset-284x270.png 284w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><figcaption id=\"caption-attachment-498\" class=\"wp-caption-text\">PILP asetukset<\/figcaption><\/figure>\n<figure id=\"attachment_499\" aria-describedby=\"caption-attachment-499\" style=\"width: 501px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-499\" src=\"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-tiedot.png\" alt=\"PILP tiedot\" width=\"501\" height=\"841\" srcset=\"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-tiedot.png 501w, https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-tiedot-179x300.png 179w, https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-content\/uploads\/2019\/01\/PILP-tiedot-161x270.png 161w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><figcaption id=\"caption-attachment-499\" class=\"wp-caption-text\">PILP tiedot<\/figcaption><\/figure>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nilan EC9 poistoilmal\u00e4mp\u00f6pumpun p\u00e4ivityksen ensimm\u00e4isess\u00e4 osassa k\u00e4siteltiin\u00a0CTS 600 -ohjaimen vaihtamista\u00a0CTS 602:ksi. CTS 602 mahdollistaa laitteen et\u00e4ohjauksen, sill\u00e4 sit\u00e4 voi hallita RS485 -v\u00e4yl\u00e4\u00e4 k\u00e4ytt\u00e4v\u00e4n\u00a0Modbus -sarjaliikenneprotokollan\u00a0avulla. Et\u00e4ohjauksen kytkent\u00e4\u00e4 varten tarvitaan USB RS485 -sovitin, jollaisia saa halvimmillaan parilla kympill\u00e4. Valitsin tarkoitukseen kuitenkin hieman laadukkaamman\u00a0Hjelmslund Electronicsin USB485-STIXL\u00a0sovittimen. Sen asetuksia piti muuttaa windows-ohjelmistolla ett\u00e4 se tunnistautuisi Linuxissa oikein. Erillisten ajureiden asentamista ei t\u00e4m\u00e4n j\u00e4lkeen pit\u00e4isi tarvita. Kaapelointi toteutettiin kierretyll\u00e4 parikaapelilla (Cat5e), kuljettamalla kaapeli CTS 602:n s\u00e4\u00e4dintilan oikean yl\u00e4reunan l\u00e4piviennin kautta, josta menev\u00e4t my\u00f6s l\u00e4mp\u00f6tila-anturien kaapelit&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/poistoilmalampopumpun-paivitys-osa-2\/\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[72],"tags":[9,39,38,5],"class_list":["post-456","post","type-post","status-publish","format-standard","hentry","category-kotiautomaatio","tag-home-assistant","tag-modbus","tag-nilan","tag-pilp"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/posts\/456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/comments?post=456"}],"version-history":[{"count":0,"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/posts\/456\/revisions"}],"wp:attachment":[{"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/media?parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/categories?post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hyotynen.iki.fi\/kotiautomaatio\/wp-json\/wp\/v2\/tags?post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}