MAX! dummy Synchronisieren

Begonnen von Himi, 22 Januar 2015, 15:48:41

Vorheriges Thema - Nächstes Thema

Himi

Hi elfrino,

danke für den Tipp.

Jetzt habe ich es begriffen, der ICON klappt jetzt...

Wenn ich auf den Icon drücke geht das state auf go, (wie es auch soll)
wechselt aber nicht auf eco, sonder wieder zurück auf auto.
Somit erfolgt auch keine Unschaltung im dummy auf den Heizungsmodus eco.

Was kann ich noch tun?

Danke für Euere Hilfe


elfrinjo

Ah, sorry mein Fehler. Der Umschaltcode reagiert auf den Status des Dummy.
Benutze statt go als Kommando einfach auto und eco.

Himi

Hi elfrinjo,

dummy funzt jetzt....

Kann meine Heizkörperthermostate jetzt mit dem dummy, oder mit dem Eco-Taster (Schalter von eQ-3) umschalten.
Das Icon wechselt sehr schön von eco auf auto und umgekehrt, so wie ich es wollte und wie es in der Praxis auch Sinn macht.

Danke nochmals für deinen tolle Unterstützung, habe viel dazugelernt. :)

Nachfolgend der komplette Code des dummys..

define ecoSwitch_dummy dummy
attr ecoSwitch_dummy alias Heizungs Modus
attr ecoSwitch_dummy devStateIcon auto:HOME_Status.1:eco eco:HOME_Status.0:auto
attr ecoSwitch_dummy group Heat_Control
attr ecoSwitch_dummy icon heizung.0
attr ecoSwitch_dummy room Modus Heizung OG.
attr ecoSwitch_dummy setList auto comfort eco
attr ecoSwitch_dummy webCmd state

define eco_Switch_notify notify .*ecoSwitch_dummy.* {\
if ( Value ( "ecoSwitch_dummy" ) eq "auto" )\
{\
  my @@MAX_HT = devspec2array( "DEF=HeatingThermostat.*" );;\
  foreach ( @@MAX_HT )\
  {\
   if ( ReadingsVal ( $_, "mode", "off" ) ne "auto" )\
   {\
    fhem ( "set $_ desiredTemperature auto" );;\
   }\
  }\
}\
elsif ( Value ( "ecoSwitch_dummy" ) eq "eco" )\
{\
  my @@MAX_HT = devspec2array( "DEF=HeatingThermostat.*" );;\
  foreach ( @@MAX_HT )\
  {\
   if ( ReadingsVal ( $_, "mode", "off" ) ne "eco" )\
   {\
    fhem ( "set $_ desiredTemperature eco" );;\
   }\
  }\
}\
elsif ( Value ( "ecoSwitch_dummy" ) eq "comfort" )\
{\
  my @@MAX_HT = devspec2array( "DEF=HeatingThermostat.*" );;\
  foreach ( @@MAX_HT )\
  {\
   if ( ReadingsVal ( $_, "mode", "off" ) ne "comfort" )\
   {\
    fhem ( "set $_ desiredTemperature comfort" );;\
   }\
  }\
}\
}

define eco_Switch_state_notify notify .*(mode|valveposition).* {\
my $eco = 0;;\
my $auto = 0;;\
my @@MAX_HT = devspec2array( "DEF=HeatingThermostat.*" );;\
foreach ( @@MAX_HT )\
{\
  if ( ReadingsVal ( $_, "mode", "101" ) eq "manual" &&  ReadingsVal ( $_, "desiredTemperature", "30" ) eq ReadingsVal ( $_, "ecoTemperature", "30" ) )\
  {\
   $eco++;;\
  }\
  elsif ( ReadingsVal ( $_, "mode", "101" ) eq "auto" )\
  {\
   $auto++;;\
  }\
}\
if ( ( $eco == 0 ) && ( $auto != 0 ) )\
{\
  fhem ( "set ecoSwitch_dummy auto" );;\
}\
else\
{\
  fhem ( "set ecoSwitch_dummy eco" );;\
}\
}

neidersun

kann man das auch in hombridge irgendwie in integreren ?? ich habe es mal getestet und kommt Fehler der heist ecoSwitch_dummy: no service type detected