Hi Marc,
kann ich gern machen, bin noch auf Arbeit und morgen leider den ganzen Tag unterwegs, aber am Sonntag kann ich das hier mal alles posten!
Gruß Heiko
Hi Marc,
kann ich gern machen, bin noch auf Arbeit und morgen leider den ganzen Tag unterwegs, aber am Sonntag kann ich das hier mal alles posten!
Gruß Heiko
Klar kein Stress deswegen…
Danke…
Hi Marc,
jetzt wie versprochen meine Vorgehensweise, Einstellungen und Scripte. Ich habe das mal für mich selber aufgeschrieben mit der Hoffnung Du kannst das auch verstehen Bei Fragen einfach melden!
Allgemeine Vorgehensweise:
Direktverknüpfung
• Wandthermostat Kanal 1 mit Heizkörperthermostat Kanal 6 (1 <=> 6)
• Wandthermostat Kanal 2 mit Heizkörperthermostat Kanal 5 (2 <=> 5)
• Wandthermostat Kanal 3 mit Heizkörperthermostat Kanal 3 (3 <=> 3)
Stellantrieb HmIP-eTRV(-2)
PROFILE:
• Profil von 0:LOW_BAT auf ~Battery gesetzt
• Profil von 1:WINDOW_STATE auf HM.Window (eigenes Profil) gesetzt
• Profil von 1:VIEW_STATE von ~Intensity.100 auf HM.VentileState (eigenes Profil) geändert
• Profil von 1:ACTIVE_PROFILE auf HM.ActiveProfile (eigenes Profil) gesetzt
• Profil von 1:BOOST_MODE auf ~Switch gesetzt
• Profil von 1:SET_POINT_MODE auf HM.ControlMode (eigenes Profil) gesetzt
• Profil von 1:SET_POINT_TEMPERATURE auf HM.Temperature (eigenes Profil) gesetzt
SCRIPTE:
• Aktion von 1:ACTIVE_PROFIL auf Script „Steuerung\Heizung\Steuerung\Active Profile“
• Aktion von 1:BOOST_MODE auf Script „Steuerung\Heizung\Steuerung\Boost Mode“
• Aktion von 1:SET_POINT_MODE" auf Script „Steuerung\Heizung\Steuerung\Control Mode“
• Aktion von 1:SET_POINT_TEMPERATURE auf Script „Steuerung\Heizung\Steuerung\Set Temperature“
LOGGING:
• Variable 1:LEVEL aktivieren
Wandthermostat HmIP-WTH-2
PROFILE:
• Profil von 0:LOW_BAT auf ~Battery gesetzt
• Profil von 1:WINDOW_STATE auf HM.Window (eigenes Profil) gesetzt
• Profil von 1:ACTIVE_PROFILE auf HM.ActiveProfile (eigenes Profil) gesetzt
• Profil von 1:BOOST_MODE auf ~Switch gesetzt
• Profil von 1:SET_POINT_MODE auf HM.ControlMode (eigenes Profil) gesetzt
• Profil von 1:SET_POINT_TEMPERATURE auf HM.Temperature (eigenes Profil) gesetzt
SCRIPTE:
• Aktion von 1:ACTIVE_PROFIL auf Script „Steuerung\Heizung\Steuerung\Active Profile“
• Aktion von 1:BOOST_MODE auf Script „Steuerung\Heizung\Steuerung\Boost Mode“
• Aktion von 1:SET_POINT_MODE" auf Script „Steuerung\Heizung\Steuerung\Control Mode“
• Aktion von 1:SET_POINT_TEMPERATURE auf Script „Steuerung\Heizung\Steuerung\Set Temperature“
LOGGING:
• Variable 1:ACTUAL_TEMPERATUR aktivieren
• Variable 1:HUMIDITY aktivieren
• Variable 1:SET_POINT_TEMPERATUR aktivieren
Scripte:
<?
################################################################################
# Script: HomeMatic.ActiveProfile.ips.php
# Version: 1.0
# Author: Heiko Wilknitz (@pitti)
#
# Aktiviert ein Wochenprogramm folgender Thermostate:
# - HmIP-WTH-2
# - HmIP-eTRV
# - HmIP-eTRV-2
#
# ----------------------------- Konfiguration ----------------------------------
#
# HM.ActiveProfile (1 = Arbeitswoche, 2 = Urlaub, 3 = Aus)
$min = 1;
$max = 3;
#
# ----------------------------------- ID´s -------------------------------------
#
#
################################################################################
if ($_IPS['SENDER'] == "WebFront") {
$pid = IPS_GetParent($_IPS['VARIABLE']);
if($_IPS['VALUE'] >= $min and $_IPS['VALUE'] <= $max) {
$ret = HM_WriteValueInteger($pid, "ACTIVE_PROFILE", $_IPS['VALUE']);
}
}
################################################################################
?>
<?
################################################################################
# Script: HomeMatic.BoostMode.ips.php
# Version: 1.0
# Author: Heiko Wilknitz (@pitti)
#
# Schaltet einen der folgenden Thermostate in den Boost Modus.
# - HmIP-WTH-2
# - HmIP-eTRV
# - HmIP-eTRV-2
# ----------------------------- Konfiguration ----------------------------------
#
#
# ----------------------------------- ID´s -------------------------------------
#
#
################################################################################
if ($_IPS['SENDER'] == "WebFront") {
$pid = IPS_GetParent($_IPS['VARIABLE']);
$ret = HM_WriteValueBoolean($pid, "BOOST_MODE", $_IPS['VALUE']);
}
################################################################################
?>
<?
################################################################################
# Script: HomeMatic.ControlMode.ips.php
# Version: 1.0
# Author: Heiko Wilknitz (@pitti)
#
# Aktiviert den Steuerungsmodus eines der folgenden Thermostate.
# - HmIP-WTH-2
# - HmIP-eTRV
# - HmIP-eTRV-2
#
# ----------------------------- Konfiguration ----------------------------------
#
# CONTROL_MODE (0:Auto, 1:Manual, 2:Holiday / Party, 3:keine Funktion)
$min = 0;
$max = 3;
#
# ----------------------------------- ID´s -------------------------------------
#
#
################################################################################
if ($_IPS['SENDER'] == "WebFront") {
$pid = IPS_GetParent($_IPS['VARIABLE']);
if($_IPS['VALUE'] >= $min and $_IPS['VALUE'] <= $max) {
$ret = HM_WriteValueInteger($pid, "CONTROL_MODE", $_IPS['VALUE']);
}
}
################################################################################
?>
<?
################################################################################
# Script: HomeMatic.SetPointTemperature.ips.php
# Version: 1.1
# Author: Heiko Wilknitz (@pitti)
#
# Steuert die Temperatur folgender Thermostate:
# - HmIP-WTH-2
# - HmIP-eTRV
# - HmIP-eTRV-2
#
# ------------------------------ Changelog -------------------------------------
#
# 04.08.2018 - Initalversion (v1.0)
# 03.01.2019 - VoiceControl/Alexa hinzugefügt (v1.1)
#
# ----------------------------- Konfiguration ----------------------------------
#
$min = 4.5; // = AUS|OFF
$max = 30.5; // = EIN|ON
#
################################################################################
//IPS_LogMessage("HM.SetPointTemperature", "Sender: ".$_IPS['SENDER'].", Variable: ".$_IPS['VARIABLE'].", Value: ".$_IPS['VALUE']);
if (($_IPS['SENDER'] == "WebFront") or ($_IPS['SENDER'] == "VoiceControl")) {
$pid = IPS_GetParent($_IPS['VARIABLE']);
// Secrurity Check
if($_IPS['VALUE'] < $min) $_IPS['VALUE'] = $min;
if($_IPS['VALUE'] > $max) $_IPS['VALUE'] = $max;
// vorher sichergehen das man im manuellen Modus ist?
if($_IPS['VALUE'] == $min or $_IPS['VALUE'] == $max) {
$ret = HM_WriteValueInteger($pid, "CONTROL_MODE", 1);
$ret = HM_WriteValueFloat($pid, "SET_POINT_TEMPERATURE", $_IPS['VALUE']);
}
// Normale Temperaturschaltung
if($_IPS['VALUE'] > $min and $_IPS['VALUE'] < $max) {
$ret = HM_WriteValueFloat($pid, "SET_POINT_TEMPERATURE", $_IPS['VALUE']);
}
}
################################################################################
?>
Profile:
Auflistung entsprechend folgender Ausgabe:
$profil = IPS_GetVariableProfile("<Profilname>");
foreach($profil['Associations'] as $key => $arr) {
echo 'array('.$arr['Value'].', \''.$arr['Name'].'\', \''.$arr['Icon'].'\', '.$arr['Color'].'),'.PHP_EOL;
}
HM.Window
array(0, ‚Geschlossen‘, ‚Window-100‘, 65280),
array(1, ‚Geöffnet‘, ‚Window-0‘, 16711680),
HM.ActiveProfile
array(1, ‚Arbeitswoche‘, ‚‘, -1),
array(2, ‚Zuhause‘, ‚‘, -1),
array(3, ‚Aus‘, ‚‘, -1),
HM.ControlMode
array(0, ‚Automatisch‘, ‚‘, 255),
array(1, ‚Manuell‘, ‚‘, 255),
array(2, ‚Urlaub / Party‘, ‚‘, 255),
HM.Temperature
array(4,5, ‚Aus‘, ‚‘, -1),
array(5, ‚%0.1f °C‘, ‚‘, -1),
array(30,5, ‚Ein‘, ‚‘, -1),
Um den Urlaub/PartyModus habe ich mich noch nicht gekümmert. Kommt aber irgendwann auch noch.
Derzeit arbeite ich noch an den Wochenprofilen per WebUI steuern => LINK
Aussehen tut das bei mir dann so:
Viel Erfolg
Heiko
Super, danke. Damit komme ich klar. Ich gucke dann mal, ob ich schneller mit dem Urlaubsmodus bin, dann stell ich ihn dir zur Verügung
Hier bitte: