Temperaturdifferenzregelung

Begonnen von Guest, 25 Februar 2012, 17:55:53

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Da ich es selber nirgends gefunden habe und ewig rumgebastelt habe,
hier nen bittken Code - auch wenns für viele wahrscheinlich trivial
ist.

Voraussetzung: 2x Tempereratursensoren (hier 1x S300TH und 1x
HMS100T), 1x Schaltaktor (hier FS20-ST)
Sensoren und Schalter sind vorher definiert

Idee: Bei einer Temperaturdifferenz HMS100T 5° über S300TH: Schalter
an, wenn Differenz kleiner 2° Schalter aus.

Hintergrund: Damit soll ein Lüfter an einem Warmluftkollektor
geschaltet werden. Wenn die Temperatur im Kollektor 5° über
Raumtemperatur ist, soll der Lüfter die Luft aus dem Kollektor in den
Raum transportieren. Unter 2° Temperaturdifferenz eben nicht.

Code:
define deltatempNotify notify S300TH:T:.* {\
my $temp_S300th = ReadingsVal("S300TH","temperature","20");;\
my $temp_hms100t = ReadingsVal("HMS100T","temperature","20");;\
my @@hms100t = (split(/ /,$temp_hms100t));;\
my $temp_diff = 0;;\
$temp_diff = $hms100t[0] - $temp_S300th;;\
if ($temp_diff > 5) {fhem "set FS20-ST on";;}\
elsif ($temp_diff < 2) {fhem "set FS20-ST off";;}\
else {}\
}

Verschönerungsvorschläge sind natürlich gerne willkommen!

Kurze Erklärung zu my @@hms100t = (split(/ /,$temp_hms100t));;\
In dem Reading ist nach dem Wert noch (Celcius) drinne - das ist
natürlich für Rechenoperationen absolut kontrakproduktiv.
Warum das so programmiert ist erschließt sich mir nicht so ganz -
wieso packt man die Einheit nicht nach vorne in die Beschreibung?
Bspw. temperatur[C] oder ähnlich (gut, damit würde man sicherlich die
ein oder andere Konfiguration zerhauen). Das würde Anfängern (wie mir)
sicherlich eine Menge erleichtern. Spannenderweise taucht das
(Celcius) nach dem Wert im Log nicht auf.

Für die commandref: in den PERL Specials für die "oneliner" vielleicht
nochmal beschreiben, dass man für ein Array @@ braucht, die ;; und die
\ vielleicht auch nochmal - und sonstige lustigen Umwege... Klasse
wäre auch ein kurzes Howto für split und substr Nutzung in Bezug auf
fhem :). Bitte nur als Vorschlag betrachten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Puschel74

                                               

Das finde ich genial (auch wenn ich es nicht brauche).
Je mehr sich finden und funktionierenden Code in die Grupep stellen
(wieso nicht gleich ab ins Wiki damit? ;-) ) desto besser.
@@, ;;, // usw. kommen - denke ich mal - aus der Perl-Welt.
@ steht ja für ein Array - soweit ich weiss, und wenn damit in fhem
gearbeitet (bzw. weiterverarbeitet) werden soll muss man das doppeln.
So wie das/die Semikolon (;)
Die { leitet ja einen Perl-Code ein.
Ok, nach ein paar Fehlversuchen und Selbststudium kommt man auf sowas
drauf ;-)
Nein, Scherz beiseite.
Eine Doku kann nur so gut sein wie die Rückmeldungen der User die
damit arbeiten sollen - sage ich mir immer.
Wenn keine Rückmeldungen kommen das dieses oder jenes vielleicht
angepasst werden sollte wird das auch nie angepasst - wozu auch, ist
doch alles in Butter.
Derjenige der die Doku erstellt hat kann damit sicher umgehen.
Aber eine Doku zu erstellen und danach zu arbeiten sind 2 Paar Schuhe.
Also immer nur her mit den Vorschlägen - sagt sich leicht (ich hab ja
noch keine Doku erstellt für fhem *g*)

Grüße

On 25 Feb., 17:55, Jens Broens wrote:
> Da ich es selber nirgends gefunden habe und ewig rumgebastelt habe,
> hier nen bittken Code - auch wenns für viele wahrscheinlich trivial
> ist.
>
> Voraussetzung: 2x Tempereratursensoren (hier 1x S300TH und 1x
> HMS100T), 1x Schaltaktor (hier FS20-ST)
> Sensoren und Schalter sind vorher definiert
>
> Idee: Bei einer Temperaturdifferenz HMS100T 5° über S300TH: Schalter
> an, wenn Differenz kleiner 2° Schalter aus.
>
> Hintergrund: Damit soll ein Lüfter an einem Warmluftkollektor
> geschaltet werden. Wenn die Temperatur im Kollektor 5° über
> Raumtemperatur ist, soll der Lüfter die Luft aus dem Kollektor in den
> Raum transportieren. Unter 2° Temperaturdifferenz eben nicht.
>
> Code:
> define deltatempNotify notify S300TH:T:.* {\
> my $temp_S300th = ReadingsVal("S300TH","temperature","20");;\
> my $temp_hms100t = ReadingsVal("HMS100T","temperature","20");;\
> my @@hms100t = (split(/ /,$temp_hms100t));;\
> my $temp_diff = 0;;\
> $temp_diff = $hms100t[0] - $temp_S300th;;\
> if ($temp_diff > 5) {fhem "set FS20-ST on";;}\
> elsif ($temp_diff < 2) {fhem "set FS20-ST off";;}\
> else {}\
>
> }
>
> Verschönerungsvorschläge sind natürlich gerne willkommen!
>
> Kurze Erklärung zu my @@hms100t = (split(/ /,$temp_hms100t));;\
> In dem Reading ist nach dem Wert noch (Celcius) drinne - das ist
> natürlich für Rechenoperationen absolut kontrakproduktiv.
> Warum das so programmiert ist erschließt sich mir nicht so ganz -
> wieso packt man die Einheit nicht nach vorne in die Beschreibung?
> Bspw. temperatur[C] oder ähnlich (gut, damit würde man sicherlich die
> ein oder andere Konfiguration zerhauen). Das würde Anfängern (wie mir)
> sicherlich eine Menge erleichtern. Spannenderweise taucht das
> (Celcius) nach dem Wert im Log nicht auf.
>
> Für die commandref: in den PERL Specials für die "oneliner" vielleicht
> nochmal beschreiben, dass man für ein Array @@ braucht, die ;; und die
> \ vielleicht auch nochmal - und sonstige lustigen Umwege... Klasse
> wäre auch ein kurzes Howto für split und substr Nutzung in Bezug auf
> fhem :). Bitte nur als Vorschlag betrachten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

                                                     

Bitte als Code Snippet ins Wiki

On 25 Feb., 18:27, puschel74 wrote:
> Das finde ich genial (auch wenn ich es nicht brauche).
> Je mehr sich finden und funktionierenden Code in die Grupep stellen
> (wieso nicht gleich ab ins Wiki damit? ;-) ) desto besser.
> @@, ;;, // usw. kommen - denke ich mal - aus der Perl-Welt.
> @ steht ja für ein Array - soweit ich weiss, und wenn damit in fhem
> gearbeitet (bzw. weiterverarbeitet) werden soll muss man das doppeln.
> So wie das/die Semikolon (;)
> Die { leitet ja einen Perl-Code ein.
> Ok, nach ein paar Fehlversuchen und Selbststudium kommt man auf sowas
> drauf ;-)
> Nein, Scherz beiseite.
> Eine Doku kann nur so gut sein wie die Rückmeldungen der User die
> damit arbeiten sollen - sage ich mir immer.
> Wenn keine Rückmeldungen kommen das dieses oder jenes vielleicht
> angepasst werden sollte wird das auch nie angepasst - wozu auch, ist
> doch alles in Butter.
> Derjenige der die Doku erstellt hat kann damit sicher umgehen.
> Aber eine Doku zu erstellen und danach zu arbeiten sind 2 Paar Schuhe.
> Also immer nur her mit den Vorschlägen - sagt sich leicht (ich hab ja
> noch keine Doku erstellt für fhem *g*)
>
> Grüße
>
> On 25 Feb., 17:55, Jens Broens wrote:
>
>
>
>
>
>
>
> > Da ich es selber nirgends gefunden habe und ewig rumgebastelt habe,
> > hier nen bittken Code - auch wenns für viele wahrscheinlich trivial
> > ist.
>
> > Voraussetzung: 2x Tempereratursensoren (hier 1x S300TH und 1x
> > HMS100T), 1x Schaltaktor (hier FS20-ST)
> > Sensoren und Schalter sind vorher definiert
>
> > Idee: Bei einer Temperaturdifferenz HMS100T 5° über S300TH: Schalter
> > an, wenn Differenz kleiner 2° Schalter aus.
>
> > Hintergrund: Damit soll ein Lüfter an einem Warmluftkollektor
> > geschaltet werden. Wenn die Temperatur im Kollektor 5° über
> > Raumtemperatur ist, soll der Lüfter die Luft aus dem Kollektor in den
> > Raum transportieren. Unter 2° Temperaturdifferenz eben nicht.
>
> > Code:
> > define deltatempNotify notify S300TH:T:.* {\
> > my $temp_S300th = ReadingsVal("S300TH","temperature","20");;\
> > my $temp_hms100t = ReadingsVal("HMS100T","temperature","20");;\
> > my @@hms100t = (split(/ /,$temp_hms100t));;\
> > my $temp_diff = 0;;\
> > $temp_diff = $hms100t[0] - $temp_S300th;;\
> > if ($temp_diff > 5) {fhem "set FS20-ST on";;}\
> > elsif ($temp_diff < 2) {fhem "set FS20-ST off";;}\
> > else {}\
>
> > }
>
> > Verschönerungsvorschläge sind natürlich gerne willkommen!
>
> > Kurze Erklärung zu my @@hms100t = (split(/ /,$temp_hms100t));;\
> > In dem Reading ist nach dem Wert noch (Celcius) drinne - das ist
> > natürlich für Rechenoperationen absolut kontrakproduktiv.
> > Warum das so programmiert ist erschließt sich mir nicht so ganz -
> > wieso packt man die Einheit nicht nach vorne in die Beschreibung?
> > Bspw. temperatur[C] oder ähnlich (gut, damit würde man sicherlich die
> > ein oder andere Konfiguration zerhauen). Das würde Anfängern (wie mir)
> > sicherlich eine Menge erleichtern. Spannenderweise taucht das
> > (Celcius) nach dem Wert im Log nicht auf.
>
> > Für die commandref: in den PERL Specials für die "oneliner" vielleicht
> > nochmal beschreiben, dass man für ein Array @@ braucht, die ;; und die
> > \ vielleicht auch nochmal - und sonstige lustigen Umwege... Klasse
> > wäre auch ein kurzes Howto für split und substr Nutzung in Bezug auf
> > fhem :). Bitte nur als Vorschlag betrachten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

                                               

Ich habe mir extra, nachdem ich zu fhem gekommen bin, ein Perl für
Anfänger-Buch  gekauft und bin schon fleissig am üben ;-)
Trotzdem fällt es mir immer noch leichter die Doku zu übersetzen (da
war noch was - werd mich heute wieder dran setzen).
Programmieren liegt nicht jedem aber jeder kann seinen Beitrag zu
diesem Projekt leisten - finde ich zumindest.

Grüße

P.S.: Natürlich wird es immer die stillen "Nutznieser" bei solchen
Projekten geben aber das ist ja auch in Ordnung bzw. kann ja nicht
geändert werden.

On 26 Feb., 09:03, Rudolf Koenig wrote:
> > Als Perl nixk nner fehlt mir da leider die Zeit...
>
>
> ... auch fuer Doku schreiben/uebersetzen, Icons-bauen, css-anpassen, support
> leisten und perl lernen. Anderen dagegen wurde das perl-koennen in die Wiege
> gelegt: diese gluecklichen Leute haben massiv Zeit aber keine Ideen, und
> koennen deshalb nichts spannenderes vorstellen, als die Wuensche und Ideen
> Anderer zu implementieren, dokumentieren und zu supporten. Fragen sich
> allerdings, wo genau der Unterschied dabei zu bezahlter Arbeit ist.
>

>
> Sorry, da ich aber diesen Spruch schon oefters gelesen habe, konnte ich bei
> dieser Steilvorlage nicht wiederstehen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

rudolfkoenig

                                                   

> P.S.: Natürlich wird es immer die stillen "Nutznieser" bei solchen
> Projekten geben aber das ist ja auch in Ordnung bzw. kann ja nicht
> geändert werden.

Das stoert mich nicht mal, sondern nur die Ausreden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Puschel74

                                               

Ausreden klingt etwas hart.
Ich würde sagen Ideenbringer ;-)

Nein Rudolf. du hast schon recht mit dem was du schreibst.
Aber die Ideenbringer haben doch auch Vorschläge auf die man sonst
wohl nicht so leicht kommen würde.
Klar muss sich dann noch jemand finden der das ganze auch programmiert
aber das wird schon.
Es muss ja nicht sofort umgesetzt werden aber sollte auch nicht aus
den Augen verloren werden.

Grüße

On 26 Feb., 10:32, Rudolf Koenig wrote:
> > P.S.: Nat rlich wird es immer die stillen "Nutznieser" bei solchen
> > Projekten geben aber das ist ja auch in Ordnung bzw. kann ja nicht
> > ge ndert werden.
>
> Das stoert mich nicht mal, sondern nur die Ausreden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Guest

Originally posted by: <email address deleted>

Vielleicht hätte ich da einen dicken Ironie Tag einbauen sollen.

Die Idee mit der GUI Programmierung war nicht wirklich ernst gemeint,
weil ich genau weiß, welcher Aufwand dahinter steckt.

Zu dem Eingeben der Temperatur über die Weboberfläche: bevor ich da
auch überhaupt nur eine Zeile Code einbauen könnte, müsste ich erstmal
mehr von Perl verstehen und vor allem müsste ich den fhem Quellcode
verstehen und dann auch noch genau die Punkte finden, wo ich dann
meinen Code einbauen könnte.

Das übersteigt einfach meine aktuellen Fähigkeiten und ich habe auf
kurze Sicht leider wirklich nicht die Zeit, mich da einzufuchsen.

Solche Code Snippets kann ich gerne beitragen, gerne auch
Textbausteine für die Dokumentation oder Wiki aus Anfängersicht. Alles
andere gerne auf lange Sicht mit wachsenden Fähigkeiten.

Bleibt immer noch die Frage: wie baue ich Kommentare in die Oneliner
ein?



On 26 Feb., 10:55, puschel74 wrote:
> Ausreden klingt etwas hart.
> Ich würde sagen Ideenbringer ;-)
>
> Nein Rudolf. du hast schon recht mit dem was du schreibst.
> Aber die Ideenbringer haben doch auch Vorschläge auf die man sonst
> wohl nicht so leicht kommen würde.
> Klar muss sich dann noch jemand finden der das ganze auch programmiert
> aber das wird schon.
> Es muss ja nicht sofort umgesetzt werden aber sollte auch nicht aus
> den Augen verloren werden.
>
> Grüße
>
> On 26 Feb., 10:32, Rudolf Koenig wrote:
>
>
>
>
>
>
>
> > > P.S.: Nat rlich wird es immer die stillen "Nutznieser" bei solchen
> > > Projekten geben aber das ist ja auch in Ordnung bzw. kann ja nicht
> > > ge ndert werden.
>
> > Das stoert mich nicht mal, sondern nur die Ausreden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Bleibt immer noch die Frage: wie baue ich Kommentare in die Oneliner
> ein?

Gar nicht: z.Zt geht das nicht. MAn. wenn die "Einzeiler" so lang werden, dass
diese Kommantare verdienen, dann sollten diese als Funktion z.Bsp. in
99_MyUtils.pm ausgelagert werden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke dir. Denn muss ich s irgendwie mit Text ins Wiki packen.

Das Code Snippet oben ist ja eher kurz, Idee hinter den Kommentaren
war halt, Anfängern das Lesen der Codezeile zu erleichtern und
Möglichkeiten zu geben den Code an eigene Bedürfnisse anzupassen.

On 26 Feb., 12:39, Rudolf Koenig wrote:
> > Bleibt immer noch die Frage: wie baue ich Kommentare in die Oneliner
> > ein?
>
> Gar nicht: z.Zt geht das nicht. MAn. wenn die "Einzeiler" so lang werden, dass
> diese Kommantare verdienen, dann sollten diese als Funktion z.Bsp. in
> 99_MyUtils.pm ausgelagert werden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Okay, wird gemacht, wenn mir jemand verrät, wie ich Kommentare in die
"Oneliner" einbaue (bevor ich das nu selber probiere und wieder auf
sowas wie \/\/ oder ## nutzen muss und das nicht finde)

Weiterhin: wäre es ggf. für "Neulinge" nicht besser, wenn man die
obere und untere Differenzsgrenze am Anfang des Snippets als Variable
definiert? Dann ist vielleicht einfacher zu sehen, was da gemacht
wird?

On 25 Feb., 20:26, "Zrrronggg!" wrote:
> Bitte als Code Snippet ins Wiki
>
> On 25 Feb., 18:27, puschel74 wrote:
>
>
>
>
>
>
>
> > Das finde ich genial (auch wenn ich es nicht brauche).
> > Je mehr sich finden und funktionierenden Code in die Grupep stellen
> > (wieso nicht gleich ab ins Wiki damit? ;-) ) desto besser.
> > @@, ;;, // usw. kommen - denke ich mal - aus der Perl-Welt.
> > @ steht ja für ein Array - soweit ich weiss, und wenn damit in fhem
> > gearbeitet (bzw. weiterverarbeitet) werden soll muss man das doppeln.
> > So wie das/die Semikolon (;)
> > Die { leitet ja einen Perl-Code ein.
> > Ok, nach ein paar Fehlversuchen und Selbststudium kommt man auf sowas
> > drauf ;-)
> > Nein, Scherz beiseite.
> > Eine Doku kann nur so gut sein wie die Rückmeldungen der User die
> > damit arbeiten sollen - sage ich mir immer.
> > Wenn keine Rückmeldungen kommen das dieses oder jenes vielleicht
> > angepasst werden sollte wird das auch nie angepasst - wozu auch, ist
> > doch alles in Butter.
> > Derjenige der die Doku erstellt hat kann damit sicher umgehen.
> > Aber eine Doku zu erstellen und danach zu arbeiten sind 2 Paar Schuhe.
> > Also immer nur her mit den Vorschlägen - sagt sich leicht (ich hab ja
> > noch keine Doku erstellt für fhem *g*)
>
> > Grüße
>
> > On 25 Feb., 17:55, Jens Broens wrote:
>
> > > Da ich es selber nirgends gefunden habe und ewig rumgebastelt habe,
> > > hier nen bittken Code - auch wenns für viele wahrscheinlich trivial
> > > ist.
>
> > > Voraussetzung: 2x Tempereratursensoren (hier 1x S300TH und 1x
> > > HMS100T), 1x Schaltaktor (hier FS20-ST)
> > > Sensoren und Schalter sind vorher definiert
>
> > > Idee: Bei einer Temperaturdifferenz HMS100T 5° über S300TH: Schalter
> > > an, wenn Differenz kleiner 2° Schalter aus.
>
> > > Hintergrund: Damit soll ein Lüfter an einem Warmluftkollektor
> > > geschaltet werden. Wenn die Temperatur im Kollektor 5° über
> > > Raumtemperatur ist, soll der Lüfter die Luft aus dem Kollektor in den
> > > Raum transportieren. Unter 2° Temperaturdifferenz eben nicht.
>
> > > Code:
> > > define deltatempNotify notify S300TH:T:.* {\
> > > my $temp_S300th = ReadingsVal("S300TH","temperature","20");;\
> > > my $temp_hms100t = ReadingsVal("HMS100T","temperature","20");;\
> > > my @@hms100t = (split(/ /,$temp_hms100t));;\
> > > my $temp_diff = 0;;\
> > > $temp_diff = $hms100t[0] - $temp_S300th;;\
> > > if ($temp_diff > 5) {fhem "set FS20-ST on";;}\
> > > elsif ($temp_diff < 2) {fhem "set FS20-ST off";;}\
> > > else {}\
>
> > > }
>
> > > Verschönerungsvorschläge sind natürlich gerne willkommen!
>
> > > Kurze Erklärung zu my @@hms100t = (split(/ /,$temp_hms100t));;\
> > > In dem Reading ist nach dem Wert noch (Celcius) drinne - das ist
> > > natürlich für Rechenoperationen absolut kontrakproduktiv.
> > > Warum das so programmiert ist erschließt sich mir nicht so ganz -
> > > wieso packt man die Einheit nicht nach vorne in die Beschreibung?
> > > Bspw. temperatur[C] oder ähnlich (gut, damit würde man sicherlich die
> > > ein oder andere Konfiguration zerhauen). Das würde Anfängern (wie mir)
> > > sicherlich eine Menge erleichtern. Spannenderweise taucht das
> > > (Celcius) nach dem Wert im Log nicht auf.
>
> > > Für die commandref: in den PERL Specials für die "oneliner" vielleicht
> > > nochmal beschreiben, dass man für ein Array @@ braucht, die ;; und die
> > > \ vielleicht auch nochmal - und sonstige lustigen Umwege... Klasse
> > > wäre auch ein kurzes Howto für split und substr Nutzung in Bezug auf
> > > fhem :). Bitte nur als Vorschlag betrachten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Puschel74

                                               

noch genialer wäre es die obere und untere grenze über das web
eingeben zu können ;-)

Frag mich aber bitte nicht wie ^^

Grüße

On 25 Feb., 22:10, Jens Broens wrote:
> Okay, wird gemacht, wenn mir jemand verrät, wie ich Kommentare in die
> "Oneliner" einbaue (bevor ich das nu selber probiere und wieder auf
> sowas wie \/\/ oder ## nutzen muss und das nicht finde)
>
> Weiterhin: wäre es ggf. für "Neulinge" nicht besser, wenn man die
> obere und untere Differenzsgrenze am Anfang des Snippets als Variable
> definiert? Dann ist vielleicht einfacher zu sehen, was da gemacht
> wird?
>
> On 25 Feb., 20:26, "Zrrronggg!" wrote:
>
>
>
>
>
>
>
> > Bitte als Code Snippet ins Wiki
>
> > On 25 Feb., 18:27, puschel74 wrote:
>
> > > Das finde ich genial (auch wenn ich es nicht brauche).
> > > Je mehr sich finden und funktionierenden Code in die Grupep stellen
> > > (wieso nicht gleich ab ins Wiki damit? ;-) ) desto besser.
> > > @@, ;;, // usw. kommen - denke ich mal - aus der Perl-Welt.
> > > @ steht ja für ein Array - soweit ich weiss, und wenn damit in fhem
> > > gearbeitet (bzw. weiterverarbeitet) werden soll muss man das doppeln.
> > > So wie das/die Semikolon (;)
> > > Die { leitet ja einen Perl-Code ein.
> > > Ok, nach ein paar Fehlversuchen und Selbststudium kommt man auf sowas
> > > drauf ;-)
> > > Nein, Scherz beiseite.
> > > Eine Doku kann nur so gut sein wie die Rückmeldungen der User die
> > > damit arbeiten sollen - sage ich mir immer.
> > > Wenn keine Rückmeldungen kommen das dieses oder jenes vielleicht
> > > angepasst werden sollte wird das auch nie angepasst - wozu auch, ist
> > > doch alles in Butter.
> > > Derjenige der die Doku erstellt hat kann damit sicher umgehen.
> > > Aber eine Doku zu erstellen und danach zu arbeiten sind 2 Paar Schuhe.
> > > Also immer nur her mit den Vorschlägen - sagt sich leicht (ich hab ja
> > > noch keine Doku erstellt für fhem *g*)
>
> > > Grüße
>
> > > On 25 Feb., 17:55, Jens Broens wrote:
>
> > > > Da ich es selber nirgends gefunden habe und ewig rumgebastelt habe,
> > > > hier nen bittken Code - auch wenns für viele wahrscheinlich trivial
> > > > ist.
>
> > > > Voraussetzung: 2x Tempereratursensoren (hier 1x S300TH und 1x
> > > > HMS100T), 1x Schaltaktor (hier FS20-ST)
> > > > Sensoren und Schalter sind vorher definiert
>
> > > > Idee: Bei einer Temperaturdifferenz HMS100T 5° über S300TH: Schalter
> > > > an, wenn Differenz kleiner 2° Schalter aus.
>
> > > > Hintergrund: Damit soll ein Lüfter an einem Warmluftkollektor
> > > > geschaltet werden. Wenn die Temperatur im Kollektor 5° über
> > > > Raumtemperatur ist, soll der Lüfter die Luft aus dem Kollektor in den
> > > > Raum transportieren. Unter 2° Temperaturdifferenz eben nicht.
>
> > > > Code:
> > > > define deltatempNotify notify S300TH:T:.* {\
> > > > my $temp_S300th = ReadingsVal("S300TH","temperature","20");;\
> > > > my $temp_hms100t = ReadingsVal("HMS100T","temperature","20");;\
> > > > my @@hms100t = (split(/ /,$temp_hms100t));;\
> > > > my $temp_diff = 0;;\
> > > > $temp_diff = $hms100t[0] - $temp_S300th;;\
> > > > if ($temp_diff > 5) {fhem "set FS20-ST on";;}\
> > > > elsif ($temp_diff < 2) {fhem "set FS20-ST off";;}\
> > > > else {}\
>
> > > > }
>
> > > > Verschönerungsvorschläge sind natürlich gerne willkommen!
>
> > > > Kurze Erklärung zu my @@hms100t = (split(/ /,$temp_hms100t));;\
> > > > In dem Reading ist nach dem Wert noch (Celcius) drinne - das ist
> > > > natürlich für Rechenoperationen absolut kontrakproduktiv.
> > > > Warum das so programmiert ist erschließt sich mir nicht so ganz -
> > > > wieso packt man die Einheit nicht nach vorne in die Beschreibung?
> > > > Bspw. temperatur[C] oder ähnlich (gut, damit würde man sicherlich die
> > > > ein oder andere Konfiguration zerhauen). Das würde Anfängern (wie mir)
> > > > sicherlich eine Menge erleichtern. Spannenderweise taucht das
> > > > (Celcius) nach dem Wert im Log nicht auf.
>
> > > > Für die commandref: in den PERL Specials für die "oneliner" vielleicht
> > > > nochmal beschreiben, dass man für ein Array @@ braucht, die ;; und die
> > > > \ vielleicht auch nochmal - und sonstige lustigen Umwege... Klasse
> > > > wäre auch ein kurzes Howto für split und substr Nutzung in Bezug auf
> > > > fhem :). Bitte nur als Vorschlag betrachten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Guest

Originally posted by: <email address deleted>

Naja, für meine Anwendungszweck bräuchte ich das ja nicht... Aber wenn
man die Idee zuende spinnt, sollte man auch Sensoren für die
Differenzbildung und Aktoren via Web eingeben können - kann mal wer ne
GUI für die FHEM Programmierung bauen, bei der man sich die
Programmbausteine zusammenklicken kann?

Als Perl nixkönner fehlt mir da leider die Zeit...

On 25 Feb., 22:17, puschel74 wrote:
> noch genialer wäre es die obere und untere grenze über das web
> eingeben zu können ;-)
>
> Frag mich aber bitte nicht wie ^^
>
> Grüße
>
> On 25 Feb., 22:10, Jens Broens wrote:
>
>
>
>
>
>
>
> > Okay, wird gemacht, wenn mir jemand verrät, wie ich Kommentare in die
> > "Oneliner" einbaue (bevor ich das nu selber probiere und wieder auf
> > sowas wie \/\/ oder ## nutzen muss und das nicht finde)
>
> > Weiterhin: wäre es ggf. für "Neulinge" nicht besser, wenn man die
> > obere und untere Differenzsgrenze am Anfang des Snippets als Variable
> > definiert? Dann ist vielleicht einfacher zu sehen, was da gemacht
> > wird?
>
> > On 25 Feb., 20:26, "Zrrronggg!" wrote:
>
> > > Bitte als Code Snippet ins Wiki
>
> > > On 25 Feb., 18:27, puschel74 wrote:
>
> > > > Das finde ich genial (auch wenn ich es nicht brauche).
> > > > Je mehr sich finden und funktionierenden Code in die Grupep stellen
> > > > (wieso nicht gleich ab ins Wiki damit? ;-) ) desto besser.
> > > > @@, ;;, // usw. kommen - denke ich mal - aus der Perl-Welt.
> > > > @ steht ja für ein Array - soweit ich weiss, und wenn damit in fhem
> > > > gearbeitet (bzw. weiterverarbeitet) werden soll muss man das doppeln.
> > > > So wie das/die Semikolon (;)
> > > > Die { leitet ja einen Perl-Code ein.
> > > > Ok, nach ein paar Fehlversuchen und Selbststudium kommt man auf sowas
> > > > drauf ;-)
> > > > Nein, Scherz beiseite.
> > > > Eine Doku kann nur so gut sein wie die Rückmeldungen der User die
> > > > damit arbeiten sollen - sage ich mir immer.
> > > > Wenn keine Rückmeldungen kommen das dieses oder jenes vielleicht
> > > > angepasst werden sollte wird das auch nie angepasst - wozu auch, ist
> > > > doch alles in Butter.
> > > > Derjenige der die Doku erstellt hat kann damit sicher umgehen.
> > > > Aber eine Doku zu erstellen und danach zu arbeiten sind 2 Paar Schuhe.
> > > > Also immer nur her mit den Vorschlägen - sagt sich leicht (ich hab ja
> > > > noch keine Doku erstellt für fhem *g*)
>
> > > > Grüße
>
> > > > On 25 Feb., 17:55, Jens Broens wrote:
>
> > > > > Da ich es selber nirgends gefunden habe und ewig rumgebastelt habe,
> > > > > hier nen bittken Code - auch wenns für viele wahrscheinlich trivial
> > > > > ist.
>
> > > > > Voraussetzung: 2x Tempereratursensoren (hier 1x S300TH und 1x
> > > > > HMS100T), 1x Schaltaktor (hier FS20-ST)
> > > > > Sensoren und Schalter sind vorher definiert
>
> > > > > Idee: Bei einer Temperaturdifferenz HMS100T 5° über S300TH: Schalter
> > > > > an, wenn Differenz kleiner 2° Schalter aus.
>
> > > > > Hintergrund: Damit soll ein Lüfter an einem Warmluftkollektor
> > > > > geschaltet werden. Wenn die Temperatur im Kollektor 5° über
> > > > > Raumtemperatur ist, soll der Lüfter die Luft aus dem Kollektor in den
> > > > > Raum transportieren. Unter 2° Temperaturdifferenz eben nicht.
>
> > > > > Code:
> > > > > define deltatempNotify notify S300TH:T:.* {\
> > > > > my $temp_S300th = ReadingsVal("S300TH","temperature","20");;\
> > > > > my $temp_hms100t = ReadingsVal("HMS100T","temperature","20");;\
> > > > > my @@hms100t = (split(/ /,$temp_hms100t));;\
> > > > > my $temp_diff = 0;;\
> > > > > $temp_diff = $hms100t[0] - $temp_S300th;;\
> > > > > if ($temp_diff > 5) {fhem "set FS20-ST on";;}\
> > > > > elsif ($temp_diff < 2) {fhem "set FS20-ST off";;}\
> > > > > else {}\
>
> > > > > }
>
> > > > > Verschönerungsvorschläge sind natürlich gerne willkommen!
>
> > > > > Kurze Erklärung zu my @@hms100t = (split(/ /,$temp_hms100t));;\
> > > > > In dem Reading ist nach dem Wert noch (Celcius) drinne - das ist
> > > > > natürlich für Rechenoperationen absolut kontrakproduktiv.
> > > > > Warum das so programmiert ist erschließt sich mir nicht so ganz -
> > > > > wieso packt man die Einheit nicht nach vorne in die Beschreibung?
> > > > > Bspw. temperatur[C] oder ähnlich (gut, damit würde man sicherlich die
> > > > > ein oder andere Konfiguration zerhauen). Das würde Anfängern (wie mir)
> > > > > sicherlich eine Menge erleichtern. Spannenderweise taucht das
> > > > > (Celcius) nach dem Wert im Log nicht auf.
>
> > > > > Für die commandref: in den PERL Specials für die "oneliner" vielleicht
> > > > > nochmal beschreiben, dass man für ein Array @@ braucht, die ;; und die
> > > > > \ vielleicht auch nochmal - und sonstige lustigen Umwege... Klasse
> > > > > wäre auch ein kurzes Howto für split und substr Nutzung in Bezug auf
> > > > > fhem :). Bitte nur als Vorschlag betrachten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Als Perl nixkönner fehlt mir da leider die Zeit...


... auch fuer Doku schreiben/uebersetzen, Icons-bauen, css-anpassen, support
leisten und perl lernen. Anderen dagegen wurde das perl-koennen in die Wiege
gelegt: diese gluecklichen Leute haben massiv Zeit aber keine Ideen, und
koennen deshalb nichts spannenderes vorstellen, als die Wuensche und Ideen
Anderer zu implementieren, dokumentieren und zu supporten. Fragen sich
allerdings, wo genau der Unterschied dabei zu bezahlter Arbeit ist.


Sorry, da ich aber diesen Spruch schon oefters gelesen habe, konnte ich bei
dieser Steilvorlage nicht wiederstehen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com