Lite hemauto - Projekt under uppbyggnad

Hur ser ditt mät- och/eller hemautomations-system ut? Dela med dig av hur just Ditt projekt ser ut och fungerar, eller hur dina planer ser ut för framtiden. Att läsa om andra är bästa inspirationen.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Lite hemauto - Projekt under uppbyggnad

Inlägg av mwd123 »

Hej!

Köpte mig en telldus net för någon vecka sedan, och 2st oregon tempsensorer/luftfuktighetsmätare.

Har nu börjar få ordning lite på en egen sida där jag sköter och loggar det jag vill.

Jag har några nexabrytare, både vanliga som man sätter i vägguttaget och nån dimmervariant som man monterar in vägguttag.

Det jag kan göra nu är att styra alla enheter med egen websida, tellduslive, eller min iphone via tellevent.

-----------------------------------------------------------------------------------------------------------------------------------------------------

EDIT:

Lägger upp exempel på de scripten jag använder för att göra sidan, så att fler kan se hur det fungerar!
script.rar
(2.41 KiB) Nerladdad 456 gånger
I denna filen har jag perlscriptet som skapar rrdtooldatabasen, det den gör är att den hämtar värdet för luftfuktighet från en fil var 5'e minut.
och så har jag även .cgi filen som gör det hela tillgängligt på webben, om man vill kalla denna från php så använder man följande kod:

Kod: Markera allt

<?php
virtual("filnamn.cgi");
?>
Observera att man även måste lägga till följande i apaches httpd.conf om man kör egen webserver:

<Directory /srv/www/htdocs>
Options +ExecCGI
</Directory>

AddHandler cgi-script cgi pl

Om man vill använda sig av en mysqldatabas att mata in värden i, så kan man använda sig av följande PHP-kod för att göra en enkel websida med en tabell:

Kod: Markera allt

<?php
 $conn = mysql_connect("localhost", "username", "password") 
or die($msg_no_connect);
 mysql_select_db("vwso") 
or die(mysql_error());
 $res = mysql_query("SELECT name, address, city FROM table_name;") 
or die(mysql_error());
 if (mysql_num_rows($res) > 0) {
 echo '<table border="1">';
 echo '<th>Name</th><th>Address</th><th>City</th>';
 while ($row = mysql_fetch_assoc($res)) {
 echo "<tr>
 <td>{$row['name']}</td>
 <td>{$row['address']}</td>
 <td>{$row['city']}</td>
 </tr>";
 }
 echo '</table>';
 }
 else
 echo 'No rows in selected table';
 ?>
Följande perl och cgiscript är det som gör grafarna på min "Home"sida:
tempall.rar
(2.16 KiB) Nerladdad 312 gånger
Här är scriptet jag använder mig av för att "polla" mina plugwiseenheter, med "felkontroll" så den pollar om tills den får ett värde ifall den skulle få "Error"(körs från crontab).

Kod: Markera allt

#!/bin/bash

RESULTAT="$(/usr/local/bin/plugwise_util -d /dev/ttyUSB0 -m 000D6F0001A445A4 -p)"
while [ "$(/bin/echo $RESULTAT | /bin/grep Error)" != "" ]
do
  RESULTAT="$(/usr/local/bin/plugwise_util -d /dev/ttyUSB0 -m 000D6F0001A445A4 -p)"
  /bin/sleep 1s
done

/bin/echo $RESULTAT > /usr/local/bin/tvmisc.log

/bin/cat /usr/local/bin/tvmisc.log | /bin/grep W | /bin/awk -F, '{print $1}'|/bin/sed -e "s/power.*usage.*:.* / /g" |/bin/sed 's/.\{1\}$//' > /usr/local/bin/tvmisc2.log

Mer kod och annat kommer nog så fort det går, de här guiderna och scripten är tänkt för sådana som inte har kunskapen att göra allting själv, som jag, för mig är det learn by doing (trial and error) ;-) så det kanske underlättar för någon med det jag lägger ut förhoppningsvis!
-----------------------------------------------------------------------------------------------------------------------------------------------------


Jag använder mig av crond för att stänga av och på vissa enheter när jag känner för det (istället för att använda mig av schemaläggaren i live), anledningen till detta är för att jag då uppdaterar statusen på min egen hemsida samtidigt, för live sköts ju ändock automagiskt via tdtool.
remote.jpg
remote.jpg (72.48 KiB) Visad 17924 gånger
På flikarna temperatur och luftfuktighet ska värdena från oregonsensorerna vara, så fort jag får ordning på hur jag ska göra för att läsa ner datan från tellduslive för sensorerna.
temp.jpg
temp.jpg (91.52 KiB) Visad 17924 gånger
På fliken Luftvärmepump, ska jag logga tempen från en oregon tempgivare med sladd som jag sätter fast framför utblåset på min luftvärmepump, då kan jag använda mig av värdet för att t.ex skicka ett meddelande till min mail eller telefon när tempen börjar bli kass från den, så det kanske är dags för rengöring! :)

Jag ska även logga elförbrukningen på luftvärmepumpen, med hjälp av en plugwise stealth, och med hjälp av temperaturer och annat, så kan jag stänga av och på min värmepump via plugwise-util. så plugwise kommer läsa ur förbrukningen, och användas för att stänga av och på, helt automatiskt via script och crontab, så kommer den aldrig behöva gå i onödan.

Under fliken Nätverkstrafik så loggar jag min routers koppling mot internet.
routern.jpg
routern.jpg (69.33 KiB) Visad 17924 gånger
Routern jag har är en Netgear WNR3500L med TomatoUSB installerat, är riktigt nöjd med denna, tom med netgears egen mjukvara, men för att kunna göra det där lilla extra som jag vill som att logga vissa saker så blir allt mycket enklare med TomatoUSB.

På fliken Loggen loggar jag när lampor eller enheter sätts av och på osv, även andra saker kommer loggas här framöver.
loggen.jpg
loggen.jpg (71.62 KiB) Visad 17924 gånger
Allt detta körs på en liten och strömsnål tunn klient från HP, med 1GHz AMD Athlon CPU, 1GB RAM, 160GB 2.5" IDE HDD (istället för 512MB FLASH)

På denna kör jag Windows XP Pro och VMWARE med senaste openSUSE. anledningen till att jag kör Windows XP på den är för att jag använder den för att fjärransluta till från hemmet och andra platser, för att kunna kolla mail/irc/msn osv enkelt. detta fungerar riktigt bra får jag lov att säga. Då ungarna ibland sitter vid min vanliga dator så slipper jag vara orolig för att de ska lyckas tabort eller förstöra något som jag är rädd om.

Så en hel del har det blivit gjort på nån vecka, jag hade en tellstick för några år sedan, så mycket av det jag kör nu, hade jag även då, så det gick ganska snabbt att göra om det hela så att det fungerade med tellduslive och tdtool.py istället för rfcmd

Att göra:

Inväntar 10st circle's, sedan ska det mätas ännu mera :)

Köpa en trådlös väderstation, och logga ännu mer data :)

Jag tar gärna emot tips, feedback, ideér tankar mm mm!!

Inspirationen har jag fått från detta forum och bwired.nl

Edit:

Interfacet ser jäkligt bra ut på en liten surfplatta som jag har, så den kommer nog ev att sättas upp i hallen för att enkelt kunna slå av och på enheter direkt man kommer hem om så önskas.

Ser även fram emot GPS-funktionen i tellevent för att ev kunna slå på t.ex kaffekokare, utebelysning mm när man närmar sig hemmet :-)

MVH
Senast redigerad av mwd123 den 25 aug 2012, 09:35, redigerad totalt 6 gång.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Beställde plugwise i söndags, fick de igår(tisdag) mycket snabb leverans som vanligt från m.nu :)

Har suttit och meckat lite med de, och har fått det att fungera bra som det verkar, installerade även stealth idag så jag kan slå av och på värmepumpen automatiskt i vinter. och logga dess förbrukning (både inne och ute-del) kommer bli nice.

Då vi eldar ganska mycket i kaminen på vintern så hade jag tänkt att värmepumpen skulle slås av automatiskt om det är mer än 24 grader, och sedan när det går under 18 grader t.ex på natten, så drar den igång igen.

Har fixat det med följande script: (Får tacka Plutonium för inspirationen från hans gamla "fläkt-script" :)

Kod: Markera allt

#!/bin/sh

ALERT_HIGH=24
ALERT_LOW=18

TEMP=`cat /srv/www/htdocs/rrdtool/temps0.txt`
TEMP_INT=${TEMP/.*}

LVP_ON="/usr/local/bin/plugwise_util -d /dev/ttyUSB0 -m 000D6F0001A40289 -s 1";
LVP_OFF="/usr/local/bin/plugwise_util -d /dev/ttyUSB0 -m 000D6F0001A40289 -s 0";

if [ $ALERT_HIGH -lt $TEMP_INT ]; then
$LVP_OFF
echo $(date) "- ALERT! - temp reached $ALERT_HIGH degrees, turning LVP" OFF'<br>' >> /srv/www/htdocs/rrdtool/logs.log

else
echo $(date) "- Temp is lower than $ALERT_HIGH ($TEMP_INT) going back to sleep"'<br>'
>> /srv/www/htdocs/rrdtool/logs.log

fi

if [ $ALERT_LOW -gt $TEMP_INT ]; then
$LVP_ON
echo $(date) "- ALERT! - Temp is lower than $ALERT_LOW degrees turning LVP" ON'<br>' >> /srv/www/htdocs/rrdtool/logs.log

else
echo $(date) "- Temp is higher than $ALERT_LOW ($TEMP_INT) going back to sleep"'<br>' >> /srv/www/htdocs/rrdtool/logs.log
fi
Tänkte köra det scriptet från crond en gång i timman nu i höst/vinter/vår

Plågar mig fortfarande med hur jag ska kunna läsa ur temp/luftfuktighet från telldus-live, men jag hoppas snart ha funnit en lösning, sitter just nu och försöker få igång oauth-sign för att kunna använda mig av den när jag wgettar min phpsida där tempen finns.

Tar gärna emot tips och lösningar på ovanstående problem ifall någon råkar veta hur man gör! :-)

Mer info kommer framöver!
Senast redigerad av mwd123 den 24 aug 2012, 22:14, redigerad totalt 1 gånger.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Hej på er!

Jag sitter nu och försöker att få ordning på lite knappar på min sida som jag ska kunna slå av och på värmepumpen med.

Jag har gjort ett litet script:

#!/bin/sh

/usr/local/bin/plugwise_util -d /dev/ttyUSB0 -m 000D6F0001A40289 -s 1

/bin/echo $(date) "- Starting LVP manually" ON'<br>' >> /srv/www/htdocs/rrdtool/logs.log

Detta fungerar alldeles ypperligt att starta värmepumpen med när jag kör det från shell. men när jag kör det från min phpsida så händer inget, den startar aldrig lvp'n. men loggen på in sida uppdateras.

Så här ser scriptet ut i min php-fil:

<?php if (isset($_POST['button'])) { exec('/usr/local/bin/lvpon.sh'); } ?>
<form action="" method="post">
<button type="submit" name="button">LVP ON</button>
</form>

Loggen uppdateras, men det händer aldrig något med värmepumpen, och jag finner inget i någon loggfil :(

Någon som vet något annat sätt kanske som fungerar bättre?

Mvh Magnus
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Lite hemauto under uppbyggnad

Inlägg av daromer »

sätt på php debug och skriv ut err från exec.

Du har förmodligen inte rättigheter att köra phputil från webservern är min gissning.

Hade jag varit du hade jag inte kört phputil med websidan utan lagt det på någon slags kö som sedan pollas och utförs.
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Hej!

Jag kör ju dock tdtool.py på ett liknande vis, men ska kika mer på det ikväll!!

NUUUUUUU har jag precis fått ordning på att hämta värdena från live.telldus.com! det blev en lång omväg, men nu fungerar det :)

Efter en massa mailande med telldus så fick de mig till slut att förstå var jag skulle lägga mina tokens för att kunna autensiera utan att behöva göra någonting, så nu har jag ett script som laddar ner min tempinfo från en liten index.php var 5'e minut.

Kod: Markera allt

#!/bin/bash
/bin/rm -rf /usr/local/bin/index.php?Sensor*

cd /usr/local/bin/
/usr/bin/wget http://192.168.0.32/test2/index.php?Sensor1-Info
/usr/bin/wget http://192.168.0.32/test2/index.php?Sensor2-Info

/bin/cat /usr/local/bin/index.php?Sensor1-Info | /bin/grep temp | /bin/sed 's/[^0-9.]*//g' > /srv/www/htdocs/rrdtool/temps0.txt
/bin/cat /usr/local/bin/index.php?Sensor1-Info | /bin/grep humidity | /bin/sed 's/[^0-9.]*//g' > /srv/www/htdocs/rrdtool/luftinne.txt

/bin/cat /usr/local/bin/index.php?Sensor2-Info | /bin/grep temp | /bin/sed 's/[^0-9.]*//g' > /srv/www/htdocs/rrdtool/temps1.txt
/bin/cat /usr/local/bin/index.php?Sensor2-Info | /bin/grep humidity | /bin/sed 's/[^0-9.]*//g' > /srv/www/htdocs/rrdtool/luftute.txt
Så nu äntligen kommer jag få fina grafer på temp/luftfuktighet både inne och ute :-) wehooo! 2veckors pulande är över.

Mer saker ska implementeras och fixas så fort det bara går!!!

Trevlig helg på er!

Mvh Magnus
Senast redigerad av mwd123 den 24 aug 2012, 22:15, redigerad totalt 2 gång.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Glömde posta det jag lagt till i telldus egen exempelfil index.php:

Kod: Markera allt

if (isset($_GET['Sensor1-Info'])) {
       $consumer = new HTTP_OAuth_Consumer(constant('PUBLIC_KEY'), constant('PRIVATE_KEY'),'xxxxxxxxxxxxxxxxxXXXXXXXXXXX', 'xxxxxxxxxxxxxxxxXXXXXXXXXXXXXXX');
        $params = array('id'=> 91431);
        $response = $consumer->sendRequest(constant('REQUEST_URI').'/sensor/info', $params, 'GET');
        echo '<pre>';
        echo( htmlentities($response->getBody()));
}
?><p><a href="index.php?Sensor2-Info">Sensor2 Info</a></p><?php

if (isset($_GET['Sensor2-Info'])) {
       $consumer = new HTTP_OAuth_Consumer(constant('PUBLIC_KEY'), constant('PRIVATE_KEY'),'xxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXX', 'xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXX');
        $params = array('id'=> 91499);
        $response = $consumer->sendRequest(constant('REQUEST_URI').'/sensor/info', $params, 'GET');
        echo '<pre>';
        echo( htmlentities($response->getBody()));
}
Jag har lagt till mina 2 sensors ID manuellt här, så jag wgettar nu de 2 sidorna, så fixar jag in temp och luftfuktighet med scriptet i posten ovanför :)
Senast redigerad av mwd123 den 24 aug 2012, 22:16, redigerad totalt 1 gånger.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Plugwise rullar på, jag har dock inte hunnit lagt in felkontroll på mitt script som läser ur plugwise-modulerna, så det kan hända att jag ibland inte får något värde, men jag ska lägga in så att ifall jag får något Error meddelande från modulerna så ska de läsas om tills det inte blir mer Error.

Luftvärmepumpen är just nu avstängd med plugwise stealth, för att inte dra de 10-12watt den drog i standby tidigare!!

Loggar just nu min egen Asus allt i ett dator (24" Full hd mm mm), TV-anläggningen och luftvärmepumpen! måååånga fler plugwisemoduler ska införskaffas så fort det går, man får väl köpa några vid varje lönetillfälle :-)
plugwise.jpg
plugwise.jpg (108.15 KiB) Visad 17761 gånger
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Lite hemauto under uppbyggnad

Inlägg av daromer »

Snyggt jobbat!
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Tack för hjälpen daromer!!! jag trodde inte det var det, så därför provade jag aldrig ens att ändra rättigheterna på plugwise-util..

men efter en chown wwwrun:root på plugwise-util så funkade det direkt :))) kanon danke!!!

Mvh Magnus

daromer skrev:sätt på php debug och skriv ut err från exec.

Du har förmodligen inte rättigheter att köra phputil från webservern är min gissning.

Hade jag varit du hade jag inte kört phputil med websidan utan lagt det på någon slags kö som sedan pollas och utförs.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Nu ska det meckas lite med att få till aktuell inne och utetemp på förstasidan, typ bredvid logo hade jag tänkt. får väl se hur det landar :-)
Senast redigerad av mwd123 den 24 aug 2012, 22:28, redigerad totalt 1 gånger.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Så fick det bli med tempen, har lagt till så att aktuell inne och utetemp visas bredvid uptime på servern!
servermage1.jpg
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Jag har lite funderingar på att vilja läsa av min elmätare, men jag vill helst göra det trådlöst, går det att sniffa fortums energidisplay "minsolo" på något enkelt vis? eller är det någon som vet om det finns någon annan modell som fungerar trådlöst och kan läsas av med linux?

Mvh Magnus
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Nu får sidan gå "live" för de som vill kika, det enda som är lösenordsskyddat är fjärrstyrningen.

http://homeauto.does-it.net

Kom gärna med förslag, tips, ideér osv osv! jag har dålig fantasi.

Mvh Magnus
Senast redigerad av mwd123 den 27 aug 2012, 17:21, redigerad totalt 1 gånger.
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
Quart
Moderator
Inlägg: 566
Blev medlem: 17 jun 2007, 21:14
Ort: Hindås
Kontakt:

Re: Lite hemauto under uppbyggnad

Inlägg av Quart »

Snyggt och bra jobbat.
Använder du nån gammal firmware på Plugwise enheterna som du sedan läser av i Linux eller hur får du ut förbrukningen på plugwise samt skapar graferna ?
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: Lite hemauto under uppbyggnad

Inlägg av mwd123 »

Hej!

Kul med lite respons, tackar!

Jag kör med plugwise_util, den fungerar med de nyare plugwise-modulerna.

https://bitbucket.org/hadara/python-plu ... gwise_util

suse:/usr/local/bin # plugwise_util -d /dev/ttyUSB0 -m 000D6F0000D32434 -p
power usage: 12.71W

Jag har ett litet cronjobb som läser ur förbrukningen, och stoppar in i en rrdtooldatabas, som genererar graferna!

Har just nu bara 1st circle+ 1 circle, och en stealth som är kopplad på värmepumpen, funkar kanon!

Ska shoppas ett plugwise-kit med 10 extra moduler så fort det bara går :)

Mvh Magnus
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
Skriv svar