pl: Hausautomatisierung

Hi, gibt hier Welche Fans von?

Eine zentrale Steuerung aufzusetzen, ist die eine Sache, die andere Sache wäre die Frage wieviele Geräte zu bedienen sind.

Wieviele Geräte würde denn ein Liebhaber der Fernsteuerung bedienen wollen, mehr als 32?

Ob es sinnvoll ist, von Mallorca aus die Teemaschine zu schalten, lassen wir mal außen vor ;)

MfG

PS: Wenn es max 32 Geräte sind die nur OnOff kennen, reichen 4 Byte in der DfÜ...

  1. Aloha ;)

    Hi, gibt hier Welche Fans von?

    Fan ja, Ahnung hab ich trotzdem kaum. Bin aber mal gespannt, was dabei rauskommt.

    Grüße,

    RIDER

    --
    Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
    # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
    1. Servus!

      Aloha ;)

      Hi, gibt hier Welche Fans von?

      Fan ja, Ahnung hab ich trotzdem kaum.

      dito.

      Eine ganz aktive Community (mit aktivem Wiki) gibt's hier: FHEM

      Herzliche Grüße

      Matthias Scharwies

      --
      Es gibt viel zu tun: ToDo-Liste
  2. Tach!

    Wieviele Geräte würde denn ein Liebhaber der Fernsteuerung bedienen wollen, mehr als 32?

    PS: Wenn es max 32 Geräte sind die nur OnOff kennen, reichen 4 Byte in der DfÜ...

    Es wird nicht bei nur on/off bleiben und den 32 Geräten bleiben. Deswegen bietet sich ein deutlich flexibleres Datenformat eher an, als fest vorgegebene Bits. Ansonsten landet man bei solchen Dingen wie geteilten ID-Werten. Der erste Teil liegt in deinen 4 Bit, dann hat man festgestllt, dass das nicht reicht und der zweite Teil liegt dann ganz woanders, weil der Platz drumherum bereits belegt ist. Das wäre nicht das erste System, das aufgrund von Geiz oder echten Beschränkungen mit der Zeit komplexer als notwendig geworden ist.

    dedlfix.

  3. Hallo und guten Abend,

    ich beschäftige mich schon länger theoretisch damit. Aber reines Steuern führt mMn nicht zum Erfolg. Wenn, dann muss man heutzutage messen, steuern und regeln können und dies auch noch mit Kameraüberwachung und bidirektionalem Ton unterstützen.

    Mich interessiert persönlich schon lange ein per Fritz!Box und DECT fernüberwachbarer Heizkörperthermostat. Mit zwei von denen könnte ich schon ca. 20% Heizenergie einsparen. Die beiden Räume könnten dann immer erst ca. eine Stunde vor der Heimkehr wieder auf volle Leistung hochgedreht werden.

    Leider kosten die Thermostate noch über 45€ pro Stück.

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de
    1. Hallo und guten Abend,

      Mich interessiert persönlich schon lange ein per Fritz!Box und DECT fernüberwachbarer Heizkörperthermostat.

      Nun, meine E-Heizung in der guten Stube ist auch per Funk geregelt. Das ausführende Organ ist ein Schütz in der UV und: Obwohl es da nur On/Off gibt, ist per PWM (Puls-Weiten-Modulation, Periode ~10min) die Heizung quasi stufenlos regelbar.

      Der Empfänger sitzt auf einer Hut-Schiene neben dem Schütz. Im Sender steckt ein PID-Regler, die Ist-Wert-Erfasung und ein Drehknopf für die Sollwertvorgabe, alles zusammen ist nicht größer als eine Zigarettenschachtel.

      Über die Funkstrecke läuft letztendlich nur On/Off. Für Remote -- und damit z.B. per Smartphone steuerbar wäre es allenfalls sinnvoll, die Sollwertvorgabe auf einen Webserver zu legen und per Backend (Passwort) einzustellen. Der Regelkreis (Regelgröße ist die Temperatur) selbst muss schon da bleiben wo er hingehört.

      Hinter diesem Backend steckt also ersteinmal nur die Idee, verschiedene Sollwertvorgaben (Leistung, Temperatur, On, Off usw...) zentral abzulegen und per Webservice verfügbar zu machen.

      Die eigentliche Engine pollt per Cron gesteuert via HTTP jede Minute die Vorgabe für jedes Gerät. In Fakt heißt HTTP zunächst http://localhost auf einem RasPi mit FS20/USB.

      MfG

    2. Hallo,

      Leider kosten die Thermostate noch über 45€ pro Stück.

      45 € für ein bisschen Wärmeregelung. Dann guck lieber nicht, was andere für etwas Bequemlichkeit hinlegen...

      Gruß
      Kalk

      1. Boah ey! Mussichunbedingthabensabbersabber :)

        Nur die eingebaute Heizung macht mir Sorgen. 60 Grad - das klingt nach einem Eierkocher...

        Rolf

  4. Hi, gibt hier Welche Fans von?

    Natürlich

    Wieviele Geräte würde denn ein Liebhaber der Fernsteuerung bedienen wollen, mehr als 32?

    Ein paar Gedankenanstöße.
    Frage dich in jedem Raum was du wie schalten willst. Ein Deckenlicht, in Wohnräumen auch mal zwei. Im Bad das Licht am Spiegel, im Wohnzimmer die Vitrinenbeleuchtung, im Schlafzimmer das Licht im Kleiderschrank. Rechne mit weiteren Ideen für die du später Reserven benötigst.
    Man kann Steckdosen schaltbar machen an denen der Fernseher hängt, eine Stehlampe, der PC mit sämtlichen Stromfressern, Musikanlage usw. Kühlschrank bitte nicht ausschaltbar machen :-)
    Gartenbeleuchtung? Terasse? Balkon? Garage? Was auch noch zuschlägt wären Heizungsregler und ein elektrischer Rolladen benötigt gleich zwei Schaltausgänge!

    je nachdem wie freaky deine Ideen sind und was du alles dran hängen willst, sind 32 Schaltausgänge gerade noch ok oder zu wenig. Zu viel jedenfalls nicht :-)

    1. @all,

      erstma danke an alle. Bezüglich der Geräteanzahl wirds natürlich keine Begrenzung geben. Wie ich Events einbinde ist auch klar (SA, SU gibts ja schon)... also nach oben (Sturmsensor, Regensensor...) ist alles offen.

      Aber bevor ich in Sachen HW größere Invest. tätige, muss ich mich noch ein bischen in die Anbindung USB/Serial einlesen bevor ich mit Perl darauf losgehe ;)

      D.h., zum Spielen muss vorerst ein USB-Dongle + Steckdose reichen.

      MfG

      PS: Selbstverständlich kenne ich FHEM. Is mir aber zu umständlich und das Backend ist überhaupt nicht mein Fall ;)

      1. Hallo und guten Morgen,

        und vielleicht mal bei den Anderen gucken?

        • Instabus (früher EIBA)
        • Somfy home automation
        • one cable net

        Liebe Grüße
        TS

        --
        es wachse der Freifunk
        http://freifunk-oberharz.de
        1. Hallo und guten Morgen,

          und vielleicht mal bei den Anderen gucken?

          Klar, immer ;)

          Was mich natürlich in keinster Weise von meinem eigenen Plan abbringt und der heißt im ersten Schritt: Integration von Backened + Webservice in mein Framework -- Fertig.

          Nächster Schritt ist die Entwickung der API zum USB-Dongle. Ich hab den Code in Python und Java aber ich brauch Perl drumherum um die API mit einer Config verbinden zu können.

          Zum Schluss: API + Config = Engine. Nur noch in die Crontab eintragen.

          MfG

          1. Mahlzeit,

            Nächster Schritt ist die Entwickung der API zum USB-Dongle. Ich hab den Code in Python und Java aber ich brauch Perl drumherum um die API mit einer Config verbinden zu können.

            Nix für ungut, aber bei sowas drei Programmiersprachen zu benutzen, ist für mich ein Konzeptfehler. Es erhöht den Wartungsaufwand massiv und erschwert anderen Entwicklern, mit dem System zu arbeiten. Zumindest meine persönliche Meinung.

            --
            42
            1. Mahlzeit,

              Nächster Schritt ist die Entwickung der API zum USB-Dongle. Ich hab den Code in Python und Java aber ich brauch Perl drumherum um die API mit einer Config verbinden zu können.

              Nix für ungut, aber bei sowas drei Programmiersprachen zu benutzen, ist für mich ein Konzeptfehler.

              Wer sagt denn, dass ich drei Programmiersprachen benutze? Also, ich hab mir den Python-Code vom Github nun umgeschrieben nach Perl. Gottseidank hatte der Kollege sein Py-Script beispielhaft dokumentiert.

              Generalprobe heute mit zentraler Konfiguration, vorausgesetzt, ich finde den Stick an einer meiner COMx und vorher im Briefkasten ;)

              Meine Engine für diesen Dongle implementiert komplett in Perl:

              1. Konfig per HTTP pollen (per Crontab jede Minute)
              2. Pulsweitenmodulation PWM und native On, Off
              3. variable Periodenlänge für PWM
              4. Schalten von vier Steckdosen

              PWM ermöglicht quasi eine stufenlose Leistungsregelung. Mit Periodenlänge 10 und Power=0.5 bspw. wird 5x On und 5x Off an den Dongle übermittelt. Periodenlänge 60 würde heißen: 30x On, 30x Off, was 30 min On und 30 min Off entspricht -- Alles per Web konfigurierbar.

              Am Backend, was gleichzeitig auch eine DEMO ist, kommt noch ein Button dran für den Manager (Passwortabfrage).

              Erweiterungen: FS20 Sender an USB gibt es mittlerweile in großer Auswahl.

              Für mein Framework ein Riesen-Gewinn!!

              MfG

              PS: Bei Interesse leg ich den Perl-Code für diesen speziellen Dongle offen. Für Python isser hier

              1. Mahlzeit,

                Wer sagt denn, dass ich drei Programmiersprachen benutze?

                Naja, deine Aussage habe ich so interpretiert, dass du den Code in Python und Java geschrieben hast und das ganze mit Perl verbindest.

                Ich hab den Code in Python und Java aber ich brauch Perl drumherum um die API mit einer Config verbinden zu können.

                --
                42
                1. Mahlzeit,

                  Wer sagt denn, dass ich drei Programmiersprachen benutze?

                  Naja, deine Aussage habe ich so interpretiert, dass du den Code in Python und Java geschrieben hast und das ganze mit Perl verbindest.

                  Ich hab den Code in Python und Java aber ich brauch Perl drumherum um die API mit einer Config verbinden zu können.

                  Ja, ich hab mich wohl falsch ausgedrückt. Die Python- und Java-Snippets hab ich auf Github gefunden und obwohl das in beiden PL's ein grausiger Syntax ist, war das doch ein riesen Glück eine Vorlage zu haben. In Perl jedoch ist das wesentlich schöner anzuschauen ;)

                  Auch gut der Hinweis auf einen Sniffer: USBPcap

                  Und mittlerweile hab ich auch die Engine fertig für die Crontab und das Backend überarbeitet (vorerst als Demo und Produktiv in Einem).

                  MfG

                  1. Hallo

                    Die Python- und Java-Snippets hab ich auf Github gefunden und obwohl das in beiden PL's ein grausiger Syntax ist, war das doch ein riesen Glück eine Vorlage zu haben. In Perl jedoch ist das wesentlich schöner anzuschauen ;)

                    Ja ja, Schönheit liegt halt im Auge des Betrachters. Für mich ist Perl nur ganz schön kryptisch. Da ist zwar auch das Wort „schön“ drin, aber das kann wohl als eine ganz andere Interpretation von „schön“ gelten.

                    Tschö, Auge

                    --
                    Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                    Toller Dampf voraus von Terry Pratchett
                    1. Hallo

                      Die Python- und Java-Snippets hab ich auf Github gefunden und obwohl das in beiden PL's ein grausiger Syntax ist, war das doch ein riesen Glück eine Vorlage zu haben. In Perl jedoch ist das wesentlich schöner anzuschauen ;)

                      Ja ja, Schönheit liegt halt im Auge des Betrachters. Für mich ist Perl nur ganz schön kryptisch. Da ist zwar auch das Wort „schön“ drin, aber das kann wohl als eine ganz andere Interpretation von „schön“ gelten.

                      In Perl ist es ganz einfach eine Binary zu erzeugen:

                      return pack "C8", $b1,$b2,$cmd,$chk,0x20,0x0A,0x00,0x18;

                      In Py sieht das viel umständlicher aus. Und in Java brauchste dafür wahrscheinlich 2 DIN-A4-Seiten Code ;)

                      MfG

                      1. Hallo,

                        return pack "C8", $b1,$b2,$cmd,$chk,0x20,0x0A,0x00,0x18;

                        Augenscheinliche Bestätigung der Aussage, Perl sei kryptisch!

                        Gruß
                        Kalk

                        1. Hallo,

                          return pack "C8", $b1,$b2,$cmd,$chk,0x20,0x0A,0x00,0x18;

                          Augenscheinliche Bestätigung der Aussage, Perl sei kryptisch!

                          Seit wann sind Zahlen, in hex dargestellt, kryptisch? Das kann jeder Taschenrechner ;)

                          Mfg

                          1. Hallo

                            return pack "C8", $b1,$b2,$cmd,$chk,0x20,0x0A,0x00,0x18;

                            Augenscheinliche Bestätigung der Aussage, Perl sei kryptisch!

                            Seit wann sind Zahlen, in hex dargestellt, kryptisch? Das kann jeder Taschenrechner ;)

                            Seit wann sind Menschen Taschenrechner?

                            Für die meisten gilt wohl „seit nie und nimmer nicht“.

                            Tschö, Auge

                            --
                            Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                            Toller Dampf voraus von Terry Pratchett
                  2. Mahlzeit,

                    Ja, ich hab mich wohl falsch ausgedrückt. Die Python- und Java-Snippets hab ich auf Github gefunden und obwohl das in beiden PL's ein grausiger Syntax ist, war das doch ein riesen Glück eine Vorlage zu haben. In Perl jedoch ist das wesentlich schöner anzuschauen ;)

                    Ok, dann schaut das anders aus. Grade für sowas ist für mich Perl immer noch erste Wahl.

                    --
                    42
                    1. Mahlzeit,

                      Ja, ich hab mich wohl falsch ausgedrückt. Die Python- und Java-Snippets hab ich auf Github gefunden und obwohl das in beiden PL's ein grausiger Syntax ist, war das doch ein riesen Glück eine Vorlage zu haben. In Perl jedoch ist das wesentlich schöner anzuschauen ;)

                      Ok, dann schaut das anders aus. Grade für sowas ist für mich Perl immer noch erste Wahl.

                      Und ja, mit einer einzigen Code-Referenz mehrere Public-Methoden zu erzeugen ist in Perl ja auch kein Problem:

                      # On || Off || switch über eine anonyme Funktion
                      sub AUTOLOAD{
                          my $self = shift;
                          my $name = our $AUTOLOAD =~ /::(\w+)$/ ? $1 : '';
                          if( $name eq 'On' || $name eq 'Off' ){
                              $self->$OnOff($name, @_);
                          }
                          elsif( $name eq 'switch'){
                              $self->$OnOff(@_);
                          }
                          else{ die "Unbekannte Funktion: '$name'!\n" }
                      }
                      

                      Beliebig erweiterbar, keine Code-Redundanzen und trotzdem übersichtlich. So kann der Anwender zweckmäßig wählen, welche Methode er einbindet.

                      MfG

  5. Mahlzeit,

    Wieviele Geräte würde denn ein Liebhaber der Fernsteuerung bedienen wollen, mehr als 32?

    Mir wären 32 zu wenig. Da gibt es Lichtschalter, Steckdosen Dekoration, Heizung, Multimedia ... Da dürften 32 ganz schnell erschöpft sein. Ich halte bei sowas 128 für das Minimum, würde aber keine Obergrenze festlegen.

    --
    42
    1. Mahlzeit,

      Wieviele Geräte würde denn ein Liebhaber der Fernsteuerung bedienen wollen, mehr als 32?

      Mir wären 32 zu wenig. Da gibt es Lichtschalter, Steckdosen Dekoration, Heizung, Multimedia ... Da dürften 32 ganz schnell erschöpft sein. Ich halte bei sowas 128 für das Minimum, würde aber keine Obergrenze festlegen.

      Es gibt immer Obergrenzen ;)

      In dieser Sache nur die Verfügbarkeit von HW an USB. Ein FS20 PCS von ELV dürfte so ziemlich jede Anforderung abdecken. Für dieses schicke Teil gibts EventGhost und für den der was Eigenes programmieren will ist die API OpenSource.

      Und der Dongle, den ich mir bestellt habe, kann bestimmt auch mehr als nur 4 Steckdosen -- Sofern das Peering nicht irgenwo geshaped ist: für Hauscode+Tastencode stehen immerhin 2 Bytes zur Verfügung.

      Google mal nach 1%-Regel, da ist auch eine Grenze.

      MfG

  6. Habe Fertig: Perl-Modul

    Schönes Wochenende.pl

  7. Hi, gibt hier Welche Fans von?

    Eine zentrale Steuerung aufzusetzen, ist die eine Sache, die andere Sache wäre die Frage wieviele Geräte zu bedienen sind.

    Wieviele Geräte würde denn ein Liebhaber der Fernsteuerung bedienen wollen, mehr als 32?

    Ob es sinnvoll ist, von Mallorca aus die Teemaschine zu schalten, lassen wir mal außen vor ;)

    Sinn macht PWM für eine Heizung die nur On/Off kennt. Mit PWM jedoch ist die Leistung stufenlos regelbar.

    Mit LibUSB-Win32 eine eigene API für einen 3.99€-USB-Dongle ausm Baumarkt zu programmieren ist schon eine Herausforderung. Habs aber hingekriegt ;)

    PS: Wenn es max 32 Geräte sind die nur OnOff kennen, reichen 4 Byte in der DfÜ...

    Haha, von wegen: devid=0x1A85-1 ist eines von 65536 theoretisch möglichen Geräten. Aber wehe dem, der nach einem Stromausfall 65536 Steckdosen neu einlernen muss ;)

    MfG

    1. Mahlzeit,

      Haha, von wegen: devid=0x1A85-1 ist eines von 65536 theoretisch möglichen Geräten. Aber wehe dem, der nach einem Stromausfall 65536 Steckdosen neu einlernen muss ;)

      Welche Technik die nicht aus der Steinzeit stammt, muss nach einem Stromausfall neu angelernt werden?

      --
      42
      1. Mahlzeit,

        Haha, von wegen: devid=0x1A85-1 ist eines von 65536 theoretisch möglichen Geräten. Aber wehe dem, der nach einem Stromausfall 65536 Steckdosen neu einlernen muss ;)

        Welche Technik die nicht aus der Steinzeit stammt, muss nach einem Stromausfall neu angelernt werden?

        Zur Zeit alle ambulanten Funksteckdosen, egal welcher Hersteller.

        Für eine Lösung die in der UV (Unterverteilung) endet würde ich ohnehin ein Schütz mit Niederspannungs-Spule verwenden, ebenso einen solchen Funkempfänger und diesen Niederspannungskreis außerhalb der UV installieren und ausfallsicher puffern.

        MfG

        1. Mahlzeit,

          Zur Zeit alle ambulanten Funksteckdosen, egal welcher Hersteller.

          Alle, die ich bisher in der Hand hatte, hatten einen 8-Bit Kodierschalter, womit sich das Problem generell erledigt hat. Ok, die Dinger sind 10 Jahre alt, die Technik kann sich auch zurück entwickelt haben.

          --
          42