Abfragen und Skripte (Viele Anfänger fragen - > ich lerne noch! )

Hallo Zusammen,

ich bin recht neu und kann (noch) nicht programmieren, daher mache ich jetzt nicht 20 Threads, sondern erstmal einen für meine fragen:

Mein Pool hat 2 Temperaturen. Die vom Skimmer und die vom Zulauf (mit Heizung). Diese werden schön in Diagrammen da gestellt. Nun Möchte ich gerne Heizung minus aktuelle Temperatur haben um ein Diagram über die Heizleistung zu haben.
Vermutlich ein zwei Zeiler :slight_smile:

ein Aktor gibt den Verbrauch in KWh aus. Nun würde ich gerne ein weiteres Diagram haben, welcher die Verbauch mal 0,25€ rechnet.
Also 40KWh (gibt der Aktor jetzt aus) * 0,25 (Strompreis) = in Euros
evlt. das er nur den Preis der letzten 6 Monate Anzeigt, so kann man sehen was man im aktuellen jahr „verprasst“ hat.

Bevor meine Gartenbewässerung angeht blinkt die Gartenbeleuchtung ein paar mal auf.
//an 1 mal
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,true);
IPS_Sleep(600);
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,false);
IPS_Sleep(600);

Nun würde ich gerne beim erstemal abfragen wie der aktuelle Stand von 48648 ist, damit die Beleuchtung danach wieder den gleichen zustand hat, mit diesem Skript ist sie aus wenn der Gartensprenger an geht.

Bei meiner Garage möchte ich gerne ein Skipt bauen:
wenn der Aktor meldet (true) -> also Garage offen und der Zustand länger als 1 Stunde anhält starte bitte ein skript.
Das Skript habe ich schon und drückt einfach nur auf (aktor an / aktor aus) - als Taster damit die Garage wieder zu geht.

das wohl schwierigeste:
Ich würde gerne die Zeiten wenn z.B. der Gartensprenger oder die Pool Pumpe an geht auf dem Handy anpassen können.
Aktuell habe ich mir einfach ganz viele Bolean Schalter gebaut, wo ich für die einzelnen festen Schaltzeiten an und aus machen kann. Aber ich kann das auf dem Handy nicht verändern.

vielen Dank und ich hoffe ihr seit von den Anfänger fragen nicht so genervt.

Servus Dustin

Damit du passende Antworten bekommst wäre es gut wenn du kurz zusammenfast was du denn " überhaupt kannst". Das ist jetzt nicht bös gemeint, aber um dir zu helfen muß man auch wissen wo man ansetzt.-
Ansosnten bleiben nur Links in Manual in welcehm du sicher schon gelesen hast.

Grundsätzlich lassen sich alle deine Wünsche auch mit wenig programierkenntnissen umsetzen, aber wir müßten halt wissen wo du stehst.
Ein Script machen, dieses durch einen Trigger aufrufen, und Variablen Lesen/Schreiben geht ?

gruß
bb

Schau mal hier im Allgemeinen zum Thema Rechnen mit Variablen ist im Prinzip wie im Mathe Unterricht ;).


$temperature_1 = GetValue(12345); // Objekt ID der Variable 12345
$temperature_2 = GetValue(23456); // Objekt ID der Variable 23456
$temperature_3 =  $temperature_1 - $temperature_2;
SetValue(34567, $temperature_3 );

Auf das Skript ein Ereignis legen das auslöst sobald sich Temperatur 1 oder 2 ändert.

Siehe Beispiel oben nur diesmal


$wert = $zahl1 * $zahl2; //multiplizieren

GetValue

Dazu nutzt Du ein Ereigniss das auslöst sobald der Wert true ist und fügst eine weitere Bedigung im Ereigniss hinzu

Am besten einen Wochenplan nutzten.

Hallo,

danke für die Antworten.
@bbernhard, mit den Antworten von Fonzo bin ich fast überfordert. Evlt. bekomme ich es mit viel Fummelei hin.
Ich gehe da mal bei @Fonzo, danke!

Was kann ich ?
Im PHP Skript das Licht aus und an machen, ich glaube dann hört es auch schon auf.
Ich habe es gerade hinbekommen das ich den Status vom Licht in eine Variable Packe, das Licht blinken lasse und es wieder so schalte wie es vorher war.

Ein Meisterwerk (mehr geht echt nicht):

//Start writing your scripts between the brackets

//Aktuellen Status ob Licht an oder aus ist in eine Variable
$LichtStatus = GetValue(35725 /[Geräte\Garten hinten\Garten Lampen \Status]/);

//an 1 mal
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,true);
IPS_Sleep(600);
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,false);
IPS_Sleep(600);

//an 2 mal
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,true);
IPS_Sleep(600);
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,false);
IPS_Sleep(600);

//an 3 mal
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,true);
IPS_Sleep(600);
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,false);

//an 4 mal
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,true);
IPS_Sleep(600);
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,false);

//an 5 mal
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,true);
IPS_Sleep(600);
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/ ,false);

//Alten Lichtstatus wieder herstellen
if ($LichtStatus==true)
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/, true);

if ($LichtStatus==false)
MXC_SwitchMode(48648 /[Geräte\Garten hinten\Garten Lampen ]/, false);
?>

Hallo,

erstmal danke!

Das hat geholfen.

Pool Temperatur unterschied wird angezeigt. (gar nicht so einfach, man muss ja noch ein Float bauen wo man die Variable rein

Gesamt Preis wird angezeigt. klappt auch.

:confused::confused::confused: Weiß jemand wie ich die letzten Monate anzeigen kann? :confused::confused::confused::confused:
Aktuell:

//Start writing your scripts between the brackets
$waermepumpegesamt = GetValue(29584); /[Geräte\Pool Raum\Pool Wärmepumpe (Energie)\Value]/
$strompreis = GetValue(12546); /[Logik\Pool Pumpe\Pool Heizung\Strompreis]/

$gesamtpreis = $waermepumpegesamt * $strompreis;

SetValue(42590,$gesamtpreis); /[Visualisierung\Zuhause iOS\Pool Steuerung\Wärmepumpe\Gesamtpreis Wärmpepumpe]/

Bevor meine Gartenbewässerung angeht blinkt die Gartenbeleuchtung ein paar mal auf.
getvalue … klappt, danke!

Bei meiner Garage möchte ich gerne ein Skipt bauen:
wenn der Aktor meldet (true) -> also Garage offen und der Zustand länger als 1 Stunde anhält starte bitte ein skript.
Das Skript habe ich schon und drückt einfach nur auf (aktor an / aktor aus) - als Taster damit die Garage wieder zu geht.

getvalue -> klappt auch

Wochenzeitplan muss ich testen, danke!

Für jemand der im überhaupt keine Ahnung von Programmieren hat ist das ne Leistung :slight_smile:

Hallo Dustin,

das sollte so wie du es gemacht hast schon einmal funktionieren.
Wenn du es etwas eleganter haben möchtest schau dir mal eine for-Schleife an:


<?php
#############################################################
#  Was macht das Skript                                                                                 #
#  Wird ein Trigger verwendet                                                                         #
#                                                                                                                      #
# Datum                 IPS-Version                                        Autor                      #
#############################################################

//Variablen anpassen:
$LichtStatus = GetValue(35725 /*[Geräte\Garten hinten\Garten Lampen \Status]*/);  //Status Licht
$anz = 5;  //wie oft soll es blinken
$an_ms = 600; // Zeit in ms für Licht an
$aus_ms = 400; // Zeit in ms für Licht aus

######### ab hier nichts ändern ##################### 

if($LichtStatus == true) //wenn das Licht an ist beginne mit "aus"
{

 for ($i = 1; $i <= $anz; $i++)
 {
   //Der Inhalt der Klammer wird so oft ausgeführt bis $i = $anz. Bei jedem Durchgang wird $i um 1 erhöht.
   MXC_SwitchMode(48648 /*[Geräte\Garten hinten\Garten Lampen ]*/ ,false); //Lampe aus
   IPS_Sleep($aus_ms);	//warte für Aus-Zeit
   MXC_SwitchMode(48648 /*[Geräte\Garten hinten\Garten Lampen ]*/ ,true); //Lampe an
   IPS_Sleep($an_ms);	//warte für An-Zeit
 }
}
else //wenn das Licht aus ist beginne mit "an"
{
 for ($i = 1; $i <= $anz; $i++)
 {
   //Gleiche wie oben nur die Reihenfolge "an"-"aus" vertauscht
   MXC_SwitchMode(48648 /*[Geräte\Garten hinten\Garten Lampen ]*/ ,true);
   IPS_Sleep($an_ms);	
   MXC_SwitchMode(48648 /*[Geräte\Garten hinten\Garten Lampen ]*/ ,false);
   IPS_Sleep($aus_ms);	
 }
}



viel Spaß beim Testen und Gruß
Isi