Ankündigung

Einklappen
Keine Ankündigung bisher.

Misterhouse und Gira Tastsensor 2plus mit Raumthermostat, 2fach

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Misterhouse und Gira Tastsensor 2plus mit Raumthermostat, 2fach

    Hallo,

    so nun läuft mein Misterhouse mit der Lichtschaltung und -statuserfassung einigermaßen stabil, dank des forums hier (Telegramm verschlucken fast im griff)

    Nun stehe ich vorm nächsten Punkt, hat jemand schon die TS2plus Thermostate in Misterhouse eingebunden.

    Grüße
    Steven

    #2
    Was willst du machen,
    -Statusanzeige
    - Modusauswahl
    -Solltemperaturverstellung
    -Komfortverlängerung
    oder was?

    Gruß
    Christoph

    Kommentar


      #3
      Zitat von chrismave Beitrag anzeigen
      Was willst du machen,
      -Statusanzeige
      - Modusauswahl
      -Solltemperaturverstellung
      -Komfortverlängerung
      oder was?

      Gruß
      Christoph
      Hallo,

      fürn Anfang wäre erstmal die Statusanzeige interessant.

      Über EIB5 würde ich ja die einzelnen Werte bekommen Soll/Ist Temperatur gibt es hierfür ein andres objekt für Thermostate?

      Grüße

      Kommentar


        #4
        Zitat von Steven Beitrag anzeigen
        Hallo,

        fürn Anfang wäre erstmal die Statusanzeige interessant.

        Über EIB5 würde ich ja die einzelnen Werte bekommen Soll/Ist Temperatur gibt es hierfür ein andres objekt für Thermostate?

        Grüße
        Ich weiß nicht genau was du meinst bei mir zeige ich die Temperaturen über das Objekt23 des TS2+ an und genau das ist auch in Mh hinterlegt, siehe Anhänge.

        Was gehen müsste währe die Konnex Umschaltung per Byte, ich habe mal mit RaK ein EIBSZ also Szenen Objekt gemacht, was ein 1Byte Signal sendet, und als push Button dargestellt wird, damit müsste auch die Umschaltung funktionieren.

        Habe ich aber noch nicht getestet, steht aber bei mir an.
        Soweit ich weiß gibt es aber auch schon andere Lösungsansätze für die Umschaltung aber da bin ich mittlerweile zu weit vom Thema weg.

        Gruß
        Christoph
        Angehängte Dateien

        Kommentar


          #5
          Hallo,

          über das EIB5 Objekt habe ich das genau so hinbekommen. Wie oft aktualisiert Misterhouse diese Objekte?

          Gibt es hier keine Möglichkeit eine Soll (Objekt31 des TS2) / Ist (Objekt28 des TS2) Darstellung zu erstellen?

          Beispiel:

          Temperaturen IST / SOLL
          Wohnen 23,00 ° / 21,°°

          Grüße

          Kommentar


            #6
            Zitat von Steven Beitrag anzeigen
            Wie oft aktualisiert Misterhouse diese Objekte?
            Sobald sich der Wert ändert.
            Zitat von Steven Beitrag anzeigen
            Gibt es hier keine Möglichkeit eine Soll (Objekt31 des TS2) / Ist (Objekt28 des TS2) Darstellung zu erstellen?
            Darstellung hängt ja nur begrenzt von Misterhouse ab, sondern eher wie das in html umgesetzt wird. Welche Visu benutzt du denn?
            Gruß,
            Marc

            Kommentar


              #7
              Zitat von aggie89go Beitrag anzeigen
              Sobald sich der Wert ändert.

              Darstellung hängt ja nur begrenzt von Misterhouse ab, sondern eher wie das in html umgesetzt wird. Welche Visu benutzt du denn?
              Hallo Marc,
              genau da liegt der Schatz begraben , alles was Rak da gemacht hat sollte ja so einfach wie möglich in der iPhone Visu erscheinen.

              Also müsstest du Steven im html Code "basteln" und rumexperimentieren, alles was du allerdings da machst wird nicht nur durch neue Einträge in den eib_items oder groups implementiert. Sollte es alles wieder automatisch erfolgen müsstest du ein modifiziertes "EIB5_Item::ISA" schreiben, so wie ich das schon erwähnte EIBSZ hinter welchem ein modifiziertes EIB_6 Item steckt. (Dank nochmals an RaK)
              Code:
              # EIB61_Item: "scaling". Relative values 0-255 with 8 bit resolution
              
              package EIB61_Item;
              
              @EIB61_Item::ISA = ('EIB_Item');
              
              sub eis_type {
                  return '6.1';
              }
              
              sub decode {
                  my ($self, @data) = @_;
                  my $res;
              
                  unless ($#data == 1) {
                      &main::print_log("Not EIS type 6.1 data received for $self->{groupaddr}: \[@data\]") if $main::config_parms{eib_errata} >= 2;
                      return;
                  }
                  $res = sprintf("%.0f", $data[1] );
                  return $res;
              }
              
              sub encode {
                  my ($self, $state) = @_;
                  my $newval;
                  if ($state =~ /^(\d+)$/) {
                      $newval = $1;
                  }
                  elsif ($state =~ /^\+(\d+)$/) {
                      $newval = $self->{state} + $1;
                      $newval = 255 if ($newval > 255 );
                  }
                  elsif ($state =~ /^\-(\d+)$/) {
                      if ($self->{state} < $1) {
                          $newval = 0;
                      }
                      else {
                          $newval = $self->{state} - $1;
                      }
                  }
                  elsif ($state =~ /^(\d+)\%$/) {
                      $newval = $1;
                  }
                  else {
                      print "Invalid state for EIS type 6: \'$state\'\n";
                      return;
                  }
                  my $byte = sprintf ("%.0f", $newval );
                  return([0, int $byte]);
              }
              
              # set receive -- detected a "read" or "write" message on the bus.  For
              # readable actuators, don't trust the values in "write" messages, as
              # they may not have been accepted by the actuator. So if it is a
              # write, and the actuator is readable, generate a read request to
              # obtain the actual value from the actuator
              
              sub set_receive {
                  my ($self, $state, $set_by, $target, $read) = @_;
              
                  if (!$read && $self->{readable}) {
                      $self->delayed_read_request();
                  }
                  else {
                      $self->SUPER::set_receive($state, $set_by, $target);
                  }
              }


              Ich versuche nachher mal diese Sache mit Soll/Ist umzusetzen, intressiert mich auch, als nächsten Schritt dann noch die Konnex Umschaltung, damit ich auch von unterwegs schon mal die Heizung statt zu vorgegeben Zeiten an schalten kann.

              Gruß
              Christoph

              Kommentar


                #8
                Klasse EIBTHERMOSTAT soeben geschrieben

                Hallo,

                ich wollte nur mal kurz vermelden, dass ich eine Klasse EIBTHERMOSTAT geschrieben habe. Diese Klasse kennt Istwert und Sollwert eines Thermostats. Weiterhin kann der Sollwert vorgegeben werden.
                Im mht-File sieht das Ganze wie folgt aus:
                Code:
                # Thermostat
                #EIBTHERMOSTAT,  Istwert|SollwertStatus|SollwertEingang,    DG_Quad_Buero,        Sonstiges|Heizung
                EIBTHERMOSTAT,  5/3/0|5/3/2|5/3/1,    DG_Buero_Thermostat,        Sonstiges|Heizung|DG_Buero
                Ausserdem schreibe ich gerade noch eine Klasse ZENNIOQUADTHERMOSTAT. Diese Klasse hat die Funktionalität von EIBTHERMOSTAT, aber zusätzlich kann man das Thermostat ein-/ausschalten.

                Beide Klassen werden in der Endversion 0.84 von MisterEIB enthalten sein.

                Gruß,
                thoern

                Kommentar


                  #9
                  Zitat von thoern Beitrag anzeigen
                  Hallo,

                  ich wollte nur mal kurz vermelden, dass ich eine Klasse EIBTHERMOSTAT geschrieben habe. Diese Klasse kennt Istwert und Sollwert eines Thermostats. Weiterhin kann der Sollwert vorgegeben werden.
                  Im mht-File sieht das Ganze wie folgt aus:
                  Code:
                  # Thermostat
                  #EIBTHERMOSTAT,  Istwert|SollwertStatus|SollwertEingang,    DG_Quad_Buero,        Sonstiges|Heizung
                  EIBTHERMOSTAT,  5/3/0|5/3/2|5/3/1,    DG_Buero_Thermostat,        Sonstiges|Heizung|DG_Buero
                  Ausserdem schreibe ich gerade noch eine Klasse ZENNIOQUADTHERMOSTAT. Diese Klasse hat die Funktionalität von EIBTHERMOSTAT, aber zusätzlich kann man das Thermostat ein-/ausschalten.

                  Beide Klassen werden in der Endversion 0.84 von MisterEIB enthalten sein.

                  Gruß,
                  thoern

                  Kann ich die EIBTHERMOSTAT auch vorher schon mal testen?

                  Gruß
                  Christoph

                  Kommentar


                    #10
                    Hallo chrismave,

                    s. Anhang.
                    Den Sollwert kannst du wie folgt vorgeben:

                    $object->set($sollwert);

                    Entzippen und entpackte Datei in lib-Verzeichnis legen.

                    Ach ja, meine EIB_Items.pm ist modifiziert, aber ich denke, wenn du eine halbwegs aktuelle vom Misterhouse-SVN hast sollte dies auch funktionieren.

                    Viel Erfolg,
                    thoern
                    Angehängte Dateien

                    Kommentar


                      #11
                      Ach ja,

                      wenn du die Klasse im lib-Verzeichnis abgelegt hat, einen Misterhouse-Restart durchführen.

                      Den Status kannst du mit der state-Methode abfragen:

                      $status = $object->state();

                      Da sollte dann so etwas drinstehen:

                      22|19

                      Der erste Wert ist der Istwert, der zweite der Sollwert.

                      Gruß,
                      thoern

                      Kommentar


                        #12
                        Zitat von thoern Beitrag anzeigen
                        Ach ja,

                        wenn du die Klasse im lib-Verzeichnis abgelegt hat, einen Misterhouse-Restart durchführen.

                        Den Status kannst du mit der state-Methode abfragen:

                        $status = $object->state();
                        Danke für den Hinweis,
                        ich hätte mich aber eh nochmals gemeldet da ich mich wundere warum ich das im lib-Verzeichnis ablegen muss.

                        Ich habe bisher alle Scripte in meinem code Verzeichniss abgelegt, sprich die groups.pl, eib_items.mht usw.!

                        Kannst du das mir mal erklären, habe schon lange nichts mehr gemacht, und die Temperatur Sache hat mich mal wieder aufgebracht.

                        Bezüglich der aktuellen Dateien bin ich eh nicht mehr auf dem laufenden was wer wann wo für wen geändert hat!

                        Danke
                        Christoph

                        Kommentar


                          #13
                          Zitat von chrismave Beitrag anzeigen
                          ich hätte mich aber eh nochmals gemeldet da ich mich wundere warum ich das im lib-Verzeichnis ablegen muss.
                          Weil dies eine Klassendefinition ist und kein User-Code file (quasi so etwa wie de EIB_Items.pm - die liegt auch im lib-Verz.). Du legst das File im lib ab und kannst diese dann in deinen User-Codes nutzen.

                          Gruß,
                          thoern

                          Kommentar


                            #14

                            Bei mir liegt das alles im Code Verzeichnis:
                            Angehängte Dateien

                            Kommentar


                              #15
                              Hi,

                              kann sein dass es auch im Code-Verzeichnis funktioniert, aber dann musst du dir glaube ich ein eigenes Script basteln, was die Objektinstanzen erzeut (Stichwort 'new'). Bei Verwendung des lib-Verzeichnisses wir der mht-File-Mechanismus verwendet.


                              Gruß,
                              thoern

                              Kommentar

                              Lädt...
                              X