Maalämpöfoorumi

Tekniset kysymykset => Tiedonkeruujärjestelmät ja etämonitorointi => Aiheen aloitti: kaupunkitila - 30.09.18 - klo:11:23

Otsikko: FHEM / Perl -automaatio / Alpha Innotec ja moni muu - OSA 1
Kirjoitti: kaupunkitila - 30.09.18 - klo:11:23
Vielä kun muistan, dokumentoin tähän asennukseni. Kuvaus on pitkäveteinen niille jotka ovat tottuneita linux:iin, mutta se avaa kokonaisuudessaan mitä olen tehnyt.


Ohessa kuvattuun asennukseen mulla kuuluu:
1. Alpha Innotec PWZSV Nordic Inverter 9 - lämpöpumppu
2. Tavallinen ADSL jne. -modeemi ,  jonka muutin siltaavaksi ("router" -> "bridge")
3. Tietokone jolle asensin Linux:in ( Fedora 28 tässä tapauksessa )


1. Alpha Innotec PWZSV Nordic Inverter 9 - lämpöpumppu
- tänne yhdistin RJ45 -liittimellä olevan verkkokaapelin, toinen pää kaapelista kiinni kotimodeemiin.
- muutin asetuksista niin, että laite hakee itselleen DHCP -ip-osoitteen.
- Maalämpöpumppu haki internet -osoitteekseen 88.115.999.12    (osoite muutettu tässä esimerkissä)
- muutin asetuksista :
Koodia: [Valitse]
Etähallinta -> KYLLÄ
2. Tavallinen ADSL jne. -modeemi ,  jonka muutin siltaavaksi ("router" -> "bridge")
- vaihe ei ole olennainen tämän harjoituksen kannalta, mutta halusin suorat internet -osoitteet privaatti-ip-numeroiden sijaan, ja ilman palomuureja.
- Palomuurit kukin laittaa sitten asennusten jälkeen, se on tämän harjoituksen ulkopuolella.

3. Tietokone jolle asensin Linux:in ( Fedora 28 tässä tapauksessa )
- Olennaista tässä ei ole, onko Linux vai Windows.  FHEM -vaikuttaisi toimivan hyvin  molemmilla,  ja jos päädytte Linux:iin kuten minä, voi asentaa melkein minkä vain Linuxin.
- Esimerkki kuitenkin oli tehtävä jollain, niin se on nyt Fedora 28 - linux:illa.

3.1 Linux:in asennus kotikoneelle
- Asensin yhdelle vanhalle (nyt entiselle) Windows -koneelle Fedora 28:in.
- Imutin Netinst  ISO -imagen
 https://download.fedoraproject.org/pub/fedora-secondary/releases/28/Workstation/i386/iso/Fedora-Workstation-netinst-i386-28-1.1.iso
 ... jonka poltin CD:lle Freeisoburner:illa  ( http://www.freeisoburner.com/ )
- Asensin "Workstation" ja siihen vähän oman maun mukaan ohjelmia mukaan ( ei olennaisia tämän harjoituksen kannalta ).

Otsikko: Vs: FHEM / Perl -automaatio / Alpha Innotec ja moni muu - OSA 1
Kirjoitti: kaupunkitila - 30.09.18 - klo:11:28
3.2 FHEM perl -palvelimen -asennus tyhjälle, vasta-asennetulle Linux -työasemalle
Ohessa värikoodit:
- kaupunkitilan omat mieliasennukset, ei merkittäviä harjoituksen kannalta
- Ohjeet / viitteet
- käskyt xterm - tai konsoli-ikkunalla



Aloitamme tässä uuden, vielä käyttämättömän, tyhjän Fedora 28 -asennuksen jäljiltä:

yum -y install xterm
yum -y install firefox
yum -y install emacs
yum -y install meld
yum -y install dia




# Edelleen Kaupunkitilan asennuksia  (ei vaikutusta tähän harjoitukseen ).


yum -y install npm
npm install luxtronik2




# Referenssi : https://fhem.de/fhem.html#Download

mkdir /asennukset/
mkdir /asennukset/fhem
cd /asennukset/fhem
wget http://fhem.de/fhem-5.8.tar.gz
tar xvfz fhem-5.8.tar.gz
cd fhem-5.8/
yum install "perl(Device::SerialPort)"
yum install "perl(Time::HiRes)"



# Testataan xterm -ikkunalla perus-asennus toimii:
perl fhem.pl fhem.cfg.demo

# Nyt pitäisi pystyä selaimella (Firefox, samaisella työasemalla jonne asensimme FHEM -hakemiston) osoittamaan
http://localhost:8083/fhem
# ..ja ruudulle pitäisi tulla yksinkertainen FHEM -sivusto.

# Lopetetaan xterm -ikkunalla demon ajo
CTRL-C



# Edelleen ollaan työasemalla, xterm -ikkunalla hakemistossa :

pwd
# ------------------- output begin -----------------------
/asennnukset/fhem/fhem-5.8/
# ------------------- output end -----------------------
# Muokataan fhem.cfg -tiedostoa, lisätään rivi, jotta prosessi ajaa "foregroundilla".
# Ei tarpeellinen, mutta itse tykkään näin tehdä, kun laitetaan järjestelmä pystyyn, helpompi aloittaa prosessi uudelleen CTRL-C:lla.

emacs -nw fhem.cfg
# -------------------  lisätyt rivit begin -----------------------
# Run in foreground (remove this to run in background):
attr global nofork 1
# ------------------- lisätyt rivit end -----------------------

# Aloitetaan fhem -prosessi (foregroundilla)
perl fhem.pl fhem.cfg

# Osoita selain (Firefox) osoitteeseen:
# http://localhost:8083/fhem
# Tässä vaiheessa selaimella pitäisi näkyä pari virheilmoitusta:
# ------------------- output begin -----------------------
SecurityCheck:

WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth.
telnetPort has no associated allowed device with password/globalpassword.
Running with root privileges.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
# ------------------- output end -----------------------






# Jatketaan xterm -ikkunalla   ( voit itse keksiä oman  käyttäjätunnuksesi ja salasanasi  )
echo -n kaupunkitila:minunsalkkari | base64
# ------------------- output begin -----------------------
a2F1cHVua2l0aWxhOm1pbnVuc2Fsa2thcmk=
# ------------------- output end -----------------------


# Lisätään edellämainitun operaation base64 -stringi fhem.cfg -tiedostoon :
emacs -nw fhem.cfg
# -------------------  lisätyt rivit begin -----------------------
define allowed_WEB allowed
attr WEB basicAuth a2F1cHVua2l0aWxhOm1pbnVuc2Fsa2thcmk=
# -------------------  lisätyt rivit end -----------------------

# Ajetaan uudestaan

    perl fhem.pl fhem.cfg
# ja osoitetaan selain (Firefox) osoitteeseen
# http://localhost:8083/fhem
# Palvelin kysyy nyt käyttäjätunnusta / salasanaa  (  kaupunkitila  / minunsalkkari )


Muokataan vielä fhem.cfg -tiedostoa,  mulla näyttää tässä vaiheessa tältä  (itse lisäämäni rivit turkoosilla fontilla  ).

# ------------------- fhem.cfg -tiedosto copy-paste begin -----------------------
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global verbose 5
attr global updateInBackground

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

# Alpha innotec -pumpun osoite: http://88.115.999.12   (muutettu)
define alphamyheatpump LUXTRONIK2  88.115.999.12  30
define allowed_WEB allowed
attr WEB basicAuth a2F1cHVua2l0aWxhOm1pbnVuc2Fsa2thcmk=
attr alphamyheatpump allowSetParameter 1
attr alphamyheatpump ignoreFirmwareCheck 1

# Run in foreground (remove this to run in background):
attr global nofork 1
# ------------------- fhem.cfg -tiedosto copy-paste end -----------------------




# Nyt FHEM -perl -asennuksen pitäisi olla kasassa.
# Ajetaan uudestaan
    perl fhem.pl fhem.cfg
# ja osoitetaan selain (Firefox) osoitteeseen
# http://88.115.999.12:8085/fhem?detail=alphamyheatpump
# ... niin sivulle pitäisi päivittyä pumpulta tulevat arvot.





Maalämpöpumpun asetusten muuttamista varten, mun piti muokata Alpha Innotec:iani varten vielä kaksi asiaa: 1) Alunperin rivillä 1361 on porttina 8888, se piti muuttaa 8889 kuten ohessa. 

emacs -nw FHEM/23_LUXTRONIK2.pm
# -------------------  muokattu kohta  begin -----------------------
     LUXTRONIK2_Log $name, 5, "Opening connection to host ".$host;
     my $socket = new IO::Socket::INET (  PeerAddr => $host,
                     PeerPort => 8889,
                     Proto => 'tcp'
       );
# -------------------  muokattu kohta end  -----------------------


Toinen minkä muutin, on rivillä 1325 hystereesin maksimiarvo (3.0) -> 6.0.

emacs -nw FHEM/23_LUXTRONIK2.pm
# -------------------  muokattu kohta  begin -----------------------

     $realValue = 6.0 if( $realValue > 6.0 );
# -------------------  muokattu kohta end  -----------------------

Otsikko: Vs: FHEM / Perl -automaatio / Alpha Innotec ja moni muu - OSA 1
Kirjoitti: repomies - 03.11.18 - klo:19:26
23_LUXTRONIK2.pm tiedostosta ei tarvitse muuttaa porttia. Portin voi antaa .cfg tiedostoon muodossa IP-OSOITE:PORTTI.

Eli esimerkiksi

Koodia: [Valitse]
define LUX LUXTRONIK2  192.168.1.123:8889  30
Sain fhemin web-interfacen toimahtamaan, ajan fhemiä raspissa. Testasin että sillä voi myös muuttaa lämpökäyrän asetuksia. Kokeilin myös raspissa komentoriviltä, tämä toimii:

Koodia: [Valitse]
perl fhem.pl 127.0.0.1:7072 "set LUX heatingCurveOffset 22.0"
Näköjään arvoja voi lukea yksittäin näin (tai kaikki kerrallaan jos ei kerro mikä kiinnostaa):

Koodia: [Valitse]
perl fhem.pl 127.0.0.1:7072 "jsonlist2 LUX heatingCurveOffset"