Z-Wave Frust - Wer hat einen Rat?

Hallo zusammen,

ich brauch mal kurz einen Rat:

Habe vor 3 Monaten angefangen mit einem AVR-NET-IO und einem FS20 Sender und einem eigenen Webfrontend meine Kaffeemaschine zu steuern.
Hat auch perfekt funktioniert.

Nun wollte ich mehr, da ich beim Bau meines Eigenheims leider gepennt habe und kein BuS-System oder eine Vorbereitung gelegt habe, bleibt mir ja nur noch Funk übrig.
Fast hätte ich mich für eine CCU und Homematic entschieden, dann bin ich nach diversen Recherchen bin ich auf IP-Symcon gestossen , was mir eigentlich auch recht gut gefällt (PHP programmiere ich schon seit 10 Jahren). Das ganze also eher Systemneutral.

Nun stand ich da, meines Erachtens kommen dann HomeMatic oder Z-Wave Komponenten in die Wahl.
Da Z-Wave routing fähig ist habe ich mich für Z-Wave entschieden und wie folgt begeonnen:

IP-Symcon installiert
meinen AVR-NET-IO mit PHP angebunden und Dummy Instanzen um meine 3 FS20 Dosen zu steuern
Unwetterwarnungen eingebaut
Fritz box Telefonliste eingebaut
Bis hier her super . alles gut, nichts bereut.
Aeon Labs S2 Stick angeschlossen,
Funksteckdose von Everspring gepairt und eingebunden.
Alles läuft noch nach Plan.

  1. Desaster
    Habe 3 Fibaro Roller Shutter (Produktion Juli 2012) gekauft und die wollten alle samt kein Paring mit dem Aeon Labs stick durchführen.
    Fall liegt jetzt über dem Lieferanten bei Fibaro zum testen - Seit Mitte letzter Woche bisher nichts greifbares

  2. kleiner Lichtblick
    Rollandeschalter von Düwi gepaired und eine Instanz erzeugt.
    Z-Wave wird von der IP-Symcon Roller Shutter Instanz zwar nicht unterstützt. Allerdings funktioniert das ganze als Dimmer und lässt sich auch tadellos steuern.
    Nur findet keine Rückmeldung statt, wenn man den schalter lokal betätigt. Müsste man ein polling script schreiben - wollte ich aber nicht (Funkverkehr!)

  3. Desaster
    Ein Z-Wave Temperatursensor mit integriertem Temperatursensor gekauf. Pairing funktioniert. In IP-Symcon lässt sich das ganze nur als Binärsensor ohne Temperatur einbinden.
    Rückmeldungen funktionieren bisher nicht.

Ein Danfoss Heizkörperthermostat hatte ich auch versucht einzubinden, allerdings auch nach der im Forum beschriebenen Methode - keine Statusvariablen an der Instanz

Mein Fazit bzw. meine Frage:
Ich bastele ja gerne, allerdings habe ich grad nicht sehr sehr sehr viel Zeit um zu basteln und auszuprobieren.
Eine gute Schritt für Schritt Anleitung für einige gängige Z-Wave Komponenten vermisse ich auch. Vor allem wie man jetzt pairen soll (über den Stick oder mit IP-Symcon)

Das ganze Z-Wave Geraffel scheint ja zum einen erst nur rudimentär in IP-Symcon implementiert zu sein und zum Zweiten ist das für mich alles noch nicht wirklcih ausgereift (oder die Hersteller wollen eigentlich gar nicht wirklich miteinander reden) - oder bin ich zu blöd?
Für mich stellt sich grad die Frage: Alles wieder zurück und ein Neuversuch mit HomeMatic und dem LAN Adapter, oder ist das auch alles so ein gewurschtel bis es läuft?

Was meint die liebe erfahrene Forumsgemeinde?

Hi, das klingt gar nicht gut…

ich bin in einer ähnlichen Situation wie Du : Haus ohne Bus oder ähnliches, also völlig offen in der Systemwahl.

Ich hab jetzt Homematic, Enocean und z-Wave Geräte die eigentlich auch alle laufen und jeweils Vor- und Nachteile haben, die wir hier nicht nochmal aufzählen müssen, ist an anderer Stelle umfangreich geschehen.

Das die Doku in verschiedenen Bereichen etwas, nun sagen wir etwas spärlich ausfällt, unterschreibe ich sofort, aber:
IPS ist meiner Meinung nach ein so universelles Tool, dass das alle Unzulänglichkeiten der Doku kompensiert:

Ich stehe auf Enocean Taster, da die frei platziert werden können und keine Batterien brauchen. Das z-Wave Netz gefällt mir gut wegen dem Routing, und es gibt da sehr kleine Aktoren und auch einen der die Leistungsaufnahme messen kann und trotzdem in eine Installationsdose passt. Homematic hat brauchbare Thermostate und Stellventile für die Heizkörper.

Bei mir laufen die Sensoren/Aktoren über IPS, wegen unterschiedlichen Herstellern natürlich nicht direkt koppelbar, sondern nur wenn IPS läuft, meine Frau ist es egal, solange es läuft :slight_smile:

Was ich sagen will ist, das es sich lohnt zu probieren, und auch wenn hier manchmal etwas merkwürdige Antworten kommen, ist auch eine Menge Wissen versammelt um Probleme zu lösen (die vielleicht kleiner wären, wenn die Doku umfangreicher wäre, s.o. )

Bleib dran, Zeit muss man aber wohl oder übel investieren, da es sich eben nicht um eine in sich geschlossene Lösung handelt, sondern hiermit kann man Rosinen picken und verschiedene Ansätze kombinieren.

Kopf hoch,

Flipper

Hallo,

also ich bin im Gegensatz zu Dir eine ziemliche PHP-Niete, habe es aber trotzdem alleine hinbekommen den Rolladen Shutter mit Zwave laufen zu lassen. Es ist schon eine zeitlang her, dass ich dies umgesetzt habe, vielleicht hilft Dir aber der folgende Code meines Shutter-Skripts.
Hinweis: Bevor meine Rolläden abends auf eine vorgegebene Position fahren lasse ich immer erst alle Rolläden über ein kleines Skript komplett nach oben fahren. Hierdurch werden sie quasi auf Null gestellt und egal ob sie vorher per Hand (Schalter) auf eine andere Position gefahren wurden oder nicht befinden sie sich abends auf der richtigen Schließposition.

Ansonsten muss ich sagen, dass ich mit getesteten Z-Wave Komponenten ganz gut zurechtkomme. --> http://www.ip-symcon.de/forum/f58/sammelthread-getestete-z-wave-komponenten-8300/
Die IPS-Unterstützung für Z-Wave ist nicht optimal, über das Forum erhält man jedoch immer gute Hilfe.

Schöne Grüße,
Stephan


<?
//set_time_limit(900);

//Variables provided by ShutterControl Module
//IPS_LogMessage("InstanceID", $SC_INSTANCE); /* InstanceID */
//IPS_LogMessage("Direction", $SC_DIRECTION); /* {0..2} Stop, Up, Down */
//IPS_LogMessage("Duration", $SC_DURATION); /* ms */

if($IPS_SENDER != "ShutterControl")
 die("This script can only be started by the ShutterControl Module");

define("SC_DIRECTION_STOP", 0);
define("SC_DIRECTION_UP", 1);
define("SC_DIRECTION_DOWN", 2);

$instance = IPS_GetInstance($SC_INSTANCE);
switch($instance['ModuleInfo']['ModuleID'])
{
  case "{48FCFDC1-11A5-4309-BB0B-A0DB8042A969}": //FS20
      $running = CreateVariableByName($SC_INSTANCE, "Moving", 0);
      $value = GetValue(IPS_GetStatusVariableID($SC_INSTANCE, "StatusVariable"));
      switch($SC_DIRECTION)
      {
         case SC_DIRECTION_STOP:
          if(GetValue($running))
          {
              FS20_SwitchMode($SC_INSTANCE, $value);
              SetValue($running, false);
          }
          break;
         case SC_DIRECTION_UP:
          if(!GetValue($running))
          {
              FS20_SwitchMode($SC_INSTANCE, true);
              SetValue($running, true);
          }
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              FS20_SwitchMode($SC_INSTANCE, true);
              SetValue($running, false);
          }
          break;
         case SC_DIRECTION_DOWN:
          if(!GetValue($running))
          {
              FS20_SwitchMode($SC_INSTANCE, false);
              SetValue($running, true);
          }
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              FS20_SwitchMode($SC_INSTANCE, false);
              SetValue($running, false);
          }
          break;
      }
      break;


    case "{101352E1-88C7-4F16-998B-E20D50779AF6}": //Z-Wave
      switch($SC_DIRECTION)
      {
         case SC_DIRECTION_STOP:
          ZW_ShutterStop($SC_INSTANCE);
          break;
         case SC_DIRECTION_UP:
          ZW_ShutterMoveUp($SC_INSTANCE);
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              ZW_ShutterStop($SC_INSTANCE);
          }
          break;
         case SC_DIRECTION_DOWN:
          ZW_ShutterMoveDown($SC_INSTANCE);
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              ZW_ShutterStop($SC_INSTANCE);
          }
          break;
      }
      break;


  case "{1B7B5B7D-CAA9-4AB5-B9D8-EC805EC955AD}": //xComfort
      switch($SC_DIRECTION)
      {
         case SC_DIRECTION_STOP:
          MXC_ShutterStop($SC_INSTANCE);
          break;
         case SC_DIRECTION_UP:
          MXC_ShutterMoveUp($SC_INSTANCE);
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              MXC_ShutterStop($SC_INSTANCE);
          }
          break;
         case SC_DIRECTION_DOWN:
          MXC_ShutterMoveDown($SC_INSTANCE);
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              MXC_ShutterStop($SC_INSTANCE);
          }
          break;
      }
      break;
     case "{2D871359-14D8-493F-9B01-26432E3A710F}": //LCN
    $type=LCN_GetUnit($SC_INSTANCE);
    switch($type)
    {
      case 0: //Ausgänge
        switch($SC_DIRECTION)
        {
          case SC_DIRECTION_STOP:
            LCN_SetIntensity($SC_INSTANCE,0,0);
            LCN_SetIntensity($SC_INSTANCE2,0,0);
            break;
          case SC_DIRECTION_UP:
            LCN_SetIntensity($SC_INSTANCE,100,4);
            if($SC_DURATION > 0)
            {
              IPS_Sleep($SC_DURATION);
              LCN_SetIntensity($SC_INSTANCE,0,0);
            }
            break;
          case SC_DIRECTION_DOWN:
            LCN_SetIntensity($SC_INSTANCE2,100,4);
            if($SC_DURATION > 0)
            {
              IPS_Sleep($SC_DURATION);
              LCN_SetIntensity($SC_INSTANCE2,0,0);
            }
            break;
        }
        break;
      case 2: //Reais
        switch($SC_DIRECTION)
        {
          case SC_DIRECTION_STOP:
            LCN_SwitchRelay($SC_INSTANCE,false);
            break;
          case SC_DIRECTION_UP:
            LCN_SwitchRelay($SC_INSTANCE,true);
            LCN_SwitchRelay($SC_INSTANCE2,false); // Um Relaisrichtung zu ändern bitte auf true
            if($SC_DURATION > 0)
            {
            IPS_Sleep($SC_DURATION);
            LCN_SwitchRelay($SC_INSTANCE,false);
            }
            break;
          case SC_DIRECTION_DOWN:
            LCN_SwitchRelay($SC_INSTANCE,true);
            LCN_SwitchRelay($SC_INSTANCE2,true);// Um Relaisrichtung zu ändern bitte auf false
            if($SC_DURATION > 0)
            {
            IPS_Sleep($SC_DURATION);
            LCN_SwitchRelay($SC_INSTANCE,false);
            }
            break;
        }
        break;
    }
       break;
  case "{9317CC5B-4E1D-4440-AF3A-5CC7FB42CCAA}": //1-Wire Shutter
      switch($SC_DIRECTION)
      {
         case SC_DIRECTION_STOP:
           OneWireShutter($SC_INSTANCE, 0, $SC_DURATION);
          break;
         case SC_DIRECTION_UP:
           if($SC_DURATION == 0)
             $SC_DURATION = 120000;
           OneWireShutter($SC_INSTANCE, 0, $SC_DURATION);
          break;
         case SC_DIRECTION_DOWN:
           if($SC_DURATION == 0)
             $SC_DURATION = 120000;
           OneWireShutter($SC_INSTANCE, 1, $SC_DURATION);
          break;
      }
    break;
    case "{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}": //Homematic Shutter
      switch($SC_DIRECTION)
      {
         case SC_DIRECTION_STOP:
              HM_WriteValueBoolean($SC_INSTANCE, "STOP", true);
          break;
         case SC_DIRECTION_UP:
              HM_WriteValueFloat($SC_INSTANCE, "LEVEL", 1.0);
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              HM_WriteValueBoolean($SC_INSTANCE, "STOP", true);
          }
           break;
         case SC_DIRECTION_DOWN:
              HM_WriteValueFloat($SC_INSTANCE, "LEVEL", 0.0);
          if($SC_DURATION > 0)
          {
              IPS_Sleep($SC_DURATION);
              HM_WriteValueBoolean($SC_INSTANCE, "STOP", true);
          }
           break;
      }
    break;
  default:
    die("No Handler for Module ".$instance['ModuleInfo']['ModuleName']." found");
}

function OneWireShutter($ins, $dir, $sec) {
   @TMEX_F29_SetStrobe($ins, True);
   $res = ($dir * 128) + ($sec / 1000);
   @TMEX_F29_SetPort((integer)$ins, (integer)$res);
}

function CreateVariableByName($id, $name, $type)
{
   global $IPS_SELF;
   $vid = @IPS_GetVariableIDByName($name, $id);
   if($vid===false) {
     $vid = IPS_CreateVariable($type);
     IPS_SetParent($vid, $id);
     IPS_SetName($vid, $name);
     IPS_SetInfo($vid, "This Variable was created by Script #$IPS_SELF");
   }
   return $vid;
}

?>

Hallo zusammen,

also erstmal vielen Dank für’s Mutmachen!

Vielleicht hatte ich ja auch nur Pech, dass meine mit viel Hoffnung verbundenen Fibaro’s mit denen ja eigentlich alles geht nicht pairen wollen. Das ist echt schade.
Bin jetzt dran, ob ich noch eine ältere Serie vom Mai bekomme, die sollten eigentlich gehen…

Ich bleibe mal am Ball und mal sehen was am Ende so rauskommt…

Hallo,

also ich habe diverse Z-Wave Komponenten (Everspring Wassermelder + Schalter, Fibaro Jalousieadapter, Merten Schalter) und bin sehr zufrieden.

Mir ist zwar bei einem Fibaro mal ein Relais gestorben, Frühausfall nach ca. 8 mal fahren.

Funkprobleme hatte ich noch nie.

Die Bedienungsanleitungen sind allerdings oft frickelig, bei Everspring steht noch nicht einmal drin, dass man innerhalb von 1,5sec drei*mal den Button für die Inclusion drücken muss.

Auf jeden Fall funktionieren alle von Dir genannten Komponenten vielfach bei diversen Usern mit IPS.
Denke Du machst individuelle Fehler. Bin naechste Woche wieder verfuegbar, da koennen wir gerne telefonieren.

Hallo zusammen,

es wird Hell am Horizont.

Fibaro Roller Shutter habe ich hinbekommen und gleich mal gepostet wie:

Binär Sensor (ZME_ITEMP) auch.
Hier habe ich das Gerät mit IP-Symcon direkt gepaired.
Dann auf den Schalter gedrückt und gleich fast parallel den Datenabgleich gemacht, hat dann auch funktioniert. Periodische Updates der Temperatur kommen nun auch an und der Gehäusestatus bzw. des Binäreingangs wird auch korrekt übermittelt.

Was noch nicht geht ist der Danfoss Thermostat:

mal sehen…

Hallo,

Ich habe mir jetzt auch den Fensterschalter mit Temperaturauswertung von Fibaro gegönnt.
Will damit eine Zwangsschaltung für den Dunstabzug generieren. Sprich ist die Dunstabzugshaube an muss das Fenster auf sein.

Ich bin aber schier am verzweifeln, bekomme den Sensor nicht gepairt so dass ich eine Auswertung habe ob das Fenster nun auf oder zu ist. Von der Temperatur ganz zu schweigen.

Jetzt hab ich dein Post gelesen. (ZME_ITEMP) habe ich aber auch nirgends gefunden…

Vielleicht weiß einer Rat.
Vielen Dank im Voraus.

LG
Nepomuk

Binär Sensor (ZME_ITEMP) auch.
Hier habe ich das Gerät mit IP-Symcon direkt gepaired.
Dann auf den Schalter gedrückt und gleich fast parallel den Datenabgleich gemacht, hat dann auch funktioniert. Periodische Updates der Temperatur kommen nun auch an und der Gehäusestatus bzw. des Binäreingangs wird auch korrekt übermittelt.

Was noch nicht geht ist der Danfoss Thermostat:

mal sehen…[/QUOTE]