MySQL-loggning

Post Reply
Dr Love
Medlem
Posts: 113
Joined: 28 Jun 2012, 12:03
9
Location: Luleå
Contact:

Efter en massa fina tips i denna tråd har jag hackat ihop ett för mina behov mycket potent loggningssystem.

Kort om processen:

Ett script i HS hämtar data från enheterna och skickar till ett PHP-script på webservern, PHP-scriptet i sin tur lägger in data i databasen.

Scriptet i HS2 för loggning av temperaturdata från golvvärmesystemet

Code: Select all

Sub Main

dim s

'Hämta data och dela med 100 vid behov, ersätt "," med "."
Utomhus = Replace (hs.DeviceValue("S32")/100, ",", ".")
Framledning_nere = Replace (hs.DeviceValue("S30")/100, ",", ".")
Vrum1_inre = Replace (hs.DeviceValue("S28")/100, ",", ".")
Vrum1_center = Replace (hs.DeviceValue("S31")/100, ",", ".")
Vrum1_yttre = Replace (hs.DeviceValue("S29")/100, ",", ".")
Sov1 = Replace (hs.DeviceValue("S17")/100, ",", ".")
Entre = Replace (hs.DeviceValue("S16")/100, ",", ".")
Badrum1 = Replace (hs.DeviceValue("S18")/100, ",", ".")
Tvattstuga = Replace (hs.DeviceValue("S19")/100, ",", ".")
Garage_inre = Replace (hs.DeviceValue("S26")/100, ",", ".")
Garage_yttre = Replace (hs.DeviceValue("S25")/100, ",", ".")
Framledning_uppe = Replace (hs.DeviceValue("S30")/100, ",", ".")
Vrum2_inre = Replace (hs.DeviceValue("S42")/100, ",", ".")
Vrum2_center = Replace (hs.DeviceValue("S42")/100, ",", ".")
Vrum2_yttre = Replace (hs.DeviceValue("S42")/100, ",", ".")
Sov2 = Replace (hs.DeviceValue("S42")/100, ",", ".")
Sov3 = Replace (hs.DeviceValue("S42")/100, ",", ".")
Arb = Replace (hs.DeviceValue("S42")/100, ",", ".")
Badrum2 = Replace (hs.DeviceValue("S42")/100, ",", ".")

s = hs.GetURL ("http://<IP till webserver med PHP-scriptet på>","/<sökväg till ditt PHP-script>/<ditt PHP-script>.php?Utomhus="&Utomhus&"&Framledning_nere="&Framledning_nere&"&Vrum1_inre="&Vrum1_inre&"&Vrum1_center="&Vrum1_center&"&Vrum1_yttre="&Vrum1_yttre&"&Sov1="&Sov1&"&Entre="&Entre&"&Badrum1="&Badrum1&"&Tvattstuga="&Tvattstuga&"&Garage_inre="&Garage_inre&"&Garage_yttre="&Garage_yttre&"&Framledning_uppe="&Framledning_uppe&"&Vrum2_inre="&Vrum2_inre&"&Vrum2_center="&Vrum2_center&"&Vrum2_yttre="&Vrum2_yttre&"&Sov2="&Sov2&"&Sov3="&Sov3&"&Arb="&Arb&"&Badrum2="&Badrum2, TRUE, 80)

hs.writelog "Loggning", s

End Sub
Databasstruktur:
db.jpg
db.jpg (133.04 KiB) Viewed 9291 times
Och PHP'n:

Code: Select all

<?php

//Indata via GET
$Utomhus = $_GET['Utomhus'];
$Framledning_nere = $_GET['Framledning_nere'];
$Vrum1_inre = $_GET['Vrum1_inre'];
$Vrum1_center = $_GET['Vrum1_center'];
$Vrum1_yttre = $_GET['Vrum1_yttre'];
$Sov1 = $_GET['Sov1'];
$Entre = $_GET['Entre'];
$Badrum1 = $_GET['Badrum1'];
$Tvattstuga = $_GET['Tvattstuga'];
$Garage_inre = $_GET['Garage_inre'];
$Garage_yttre = $_GET['Garage_yttre'];
$Framledning_uppe = $_GET['Framledning_uppe'];
$Vrum2_inre = $_GET['Vrum2_inre'];
$Vrum2_center = $_GET['Vrum2_center'];
$Vrum2_yttre = $_GET['Vrum2_yttre'];
$Sov2 = $_GET['Sov2'];
$Sov3 = $_GET['Sov3'];
$Arb = $_GET['Arb'];
$Badrum2 = $_GET['Badrum2'];

$con=mysqli_connect("<IP till din databas>","<anv>","<psw>","<db>");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
else
{
  echo "Anslutning OK, ";
}

$sql="INSERT INTO klimat_varmesys (Utomhus, Framledning_nere, Vrum1_inre, Vrum1_center, Vrum1_yttre, Sov1, Entre, Badrum1, Tvattstuga, Garage_inre, Garage_yttre, Framledning_uppe, Vrum2_inre, Vrum2_center, Vrum2_yttre, Sov2, Sov3, Arb, Badrum2) VALUES (" . $Utomhus . "," . $Framledning_nere . "," . $Vrum1_inre . "," . $Vrum1_center . "," . $Vrum1_yttre . "," . $Sov1 . "," . $Entre . "," . $Badrum1 . "," . $Tvattstuga . "," . $Garage_inre . "," . $Garage_yttre . "," . $Framledning_uppe . "," . $Vrum2_inre . "," . $Vrum2_center . "," . $Vrum2_yttre . "," . $Sov2 . "," . $Sov3 . "," . $Arb . "," . $Badrum2 . ")";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "klimatdata värmesystem adderad.";

mysqli_close($con);
?>
Rörigt jag vet, men fråga om det är otydligt.

Mvh Love
Love
Husbyggarblog
Plattform: Mac Mini
Mjukvara: Indigo
Post Reply