Hallo Ihr Lieben,
ich hab den angepinnten Beitrag gelesen, aber ich bin einfach so rundum unwissend, dass ich mich über jemanden, der mir immer wieder bei Fragen beratend zur Seite stehen kann, freuen würde.
Zu mir, ich bin Anfang 40 und Mama von zwei kleinen Kindern. Ich steck also eher in ganz anderen Themen als Hausautomation und komm aktuell auch einfach nicht dazu, mich umfassend in das Thema einzulesen. Beruflich komm ich aus dem Büro und hab mit Programmierung eher weniger am Hut.
Wir haben hier ganz viele Geräte von Homeatic (ohne IP), es läuft auch alles irgendwie, aber ab und an würde ich doch gern was optimieren. Bisher war das learning by doing, bestehende Prozesse ändern, anpassen,... selbst mit KI hab ichs schon versucht.
Aktuell hänge ich an der Rollladensteuerung. Unsere Rollläden schließen und öffnen sich nach Sonnenuntergang und -aufgang. Wir haben ein Balkonkraftwerk und ich würde die Rollläden gern abhängig von der Helligkeit öffnen und schließen lassen, also sobald Strom da (und ab Uhrzeit x), Rollladen hoch.
Hat jemand Nerven und Geduld für mich und unser System? 🙈
Hallo Blubb78,
kannst du beispielhaft ein Device hier posten, das einen Rollladen steuert? Desweiteren wäre die Frage, wo du die Helligkeit herbekommst, die als Trigger für die Steuerung des Rollladensteuerung dienen soll. Falls du da ein Device hast, dann bitte auch von diesem ein list und hier posten. Falls du kein Devices hast, kann man diese Infos auch aus dem Internet beziehen.
Noch ein allgemeiner Rat, bitte lies das Einsteiger-PDF Fhem durch, falls du es noch nicht getan hast: https://fhem.de/Heimautomatisierung-mit-fhem.pdf (https://fhem.de/Heimautomatisierung-mit-fhem.pdf)
Viele Grüße Gisbert
Zitat von: Blubb78 am 31 Dezember 2023, 12:59:20Hat jemand Nerven und Geduld für mich und unser System? 🙈
Hallo,
bevor wir alle Lösungen posten. Was ist den Dein System?
Ok, Homematic hast geschrieben. Und was noch?
- CCU2
- CCU3
- Raspberry PI mit Fhem oder für RaspberryMatic oder ...
oder etwas ganz anderes?
Grüße Jörg
Zitat von: JoWiemann am 31 Dezember 2023, 17:28:08Zitat von: Blubb78 am 31 Dezember 2023, 12:59:20Hat jemand Nerven und Geduld für mich und unser System? 🙈
Hallo,
bevor wir alle Lösungen posten. Was ist den Dein System?
Ok, Homematic hast geschrieben. Und was noch?
- CCU2
- CCU3
- Raspberry PI mit Fhem oder für RaspberryMatic oder ...
oder etwas ganz anderes?
Grüße Jörg
Wo schau ich das nach? Raspberry PI vermute ich... aber sonst?
Mein (natürlich nicht erfolgreicher) Versuch war zum Beispiel mal so:
*{sunset("06:00","23:59")} IF ([PV:Gesamtleistung]<20) (set Fenster_rechts pct 90) ELSE (set Fenster_rechts pct 80)
(nur ein Test, Zahlen unrealistisch)
Das hört sich nach größeren Problemen an.
1. Wer hat das System überhaupt aufgesetzt?
2. In welcher Gegend wohnst Du? (Falls "vor Ort Hilfe" notwendig wird)
3. Was ist (abgesehen von HM) überhaupt eingerichtet?
4. Hättest Du ein Problem, ein "List" des Komplettsystems per PM zu schicken? Sonst könnten eventuelle "Geheimnisse" enthalten sein ...
Zitat von: Gisbert am 31 Dezember 2023, 13:19:46Hallo Blubb78,
kannst du beispielhaft ein Device hier posten, das einen Rollladen steuert? Desweiteren wäre die Frage, wo du die Helligkeit herbekommst, die als Trigger für die Steuerung des Rollladensteuerung dienen soll. Falls du da ein Device hast, dann bitte auch von diesem ein list und hier posten. Falls du kein Devices hast, kann man diese Infos auch aus dem Internet beziehen.
Noch ein allgemeiner Rat, bitte lies das Einsteiger-PDF Fhem durch, falls du es noch nicht getan hast: https://fhem.de/Heimautomatisierung-mit-fhem.pdf (https://fhem.de/Heimautomatisierung-mit-fhem.pdf)
Viele Grüße Gisbert
Mein Gedanke war, die Helligkeit über den Stromertrag der PV Anlage zu messen. Strom da = hell
So läuft die Steuerung aktuell:
COMMAND set Rolladen_alle_ohne_Schlafzimmer on
DEF *{sunrise(2300,"07:30","10:30")} set Rolladen_alle_ohne_Schlafzimmer on
FUUID 5d972012-f33f-9755-cb06-3b4ed19dfbac47e4
NAME Rolladen_hoch
NR 89
NTM 08:16:01
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 08:16:01
TIMESPEC {sunrise(2300,"07:30","10:30")}
TRIGGERTIME 1704352561
TRIGGERTIME_FMT 04.01.2024 08:16
TYPE at
Kleiner Tipp:
Wenn man List, Logeinträge oder sonstiges "technisches" Postet am besten in "Code"-Tags. Wenn Du einen Beitrag schreibst, findest Du es im "Editmenü" neben "Tabelle einfügen" und "Zitat einfügen". Macht es den "Supporter" leichter, den Beitrag zu lesen und zu verstehen.
Zitat von: Wernieman am 03 Januar 2024, 12:31:43Das hört sich nach größeren Problemen an.
1. Wer hat das System überhaupt aufgesetzt?
2. In welcher Gegend wohnst Du? (Falls "vor Ort Hilfe" notwendig wird)
3. Was ist (abgesehen von HM) überhaupt eingerichtet?
4. Hättest Du ein Problem, ein "List" des Komplettsystems per PM zu schicken? Sonst könnten eventuelle "Geheimnisse" enthalten sein ...
Nein nein, es gibt keine größeren Probleme, es läuft alles soweit, ich möchte nur optimieren und blicks nicht.
Aufgesetzt hat es jemand, der uns bei der Hausrenovierung geholfen hat, allerdings aktuell keine Kapazitäten hat, um mir bei meinen weiteren Ideen bei der Umsetzung zu helfen.
Zu 3., hmmm, ich versteh die Frage nicht. Was ist damit denn gemeint? Wie geschrieben, ich bin Nutzer des Systems und habe bisher eben Kleinigkeiten geändert und angepasst, durch Internetrecherche, durch ausprobieren... und unsere Rollläden sind schon ewig ein Thema, das ich nicht gelöst bekomme. Scheint morgens die Sonne, sind sie noch viel zu lange unten. Ist es abends regnerisch und trüb und schon fast dunkel, gehen sie zu spät runter...
Zitat von: Wernieman am 03 Januar 2024, 12:38:34Kleiner Tipp:
Wenn man List, Logeinträge oder sonstiges "technisches" Postet am besten in "Code"-Tags. Wenn Du einen Beitrag schreibst, findest Du es im "Editmenü" neben "Tabelle einfügen" und "Zitat einfügen". Macht es den "Supporter" leichter, den Beitrag zu lesen und zu verstehen.
Danke! Ich hab tatsächlich versucht nen Screenshot zu posten, aber nirgends die Option gefunden, ein Bild einzufügen. Glücklich war ich mit meiner Darstellung auch nicht :-)
Und da bitte auch: Im Zweifel KEIN ScreenShot ... die Daten kann man schlecht per copy&paste bei einem Test-System ausprobieren
Btw:
Zusammengefasst:
Du hattest bisher einen "Dienstleister", der Dir das FHEM aufgesetzt hatte. Das hattest Du dann selber "verbessert". Aktuell suchst Du aber einen "Neuen", da der alte keine Zeit mehr hat?
Für das Thema Rolladen könnte man sich mal das ASC (AutoShuttersControl) Modul anschauen. Ansonsten wäre eine Beschreibung was genau Du erreichen willst und ein list der betreffenden Devices hilfreich.
list DEVICENAME
Zitat von: Wernieman am 03 Januar 2024, 12:44:59Und da bitte auch: Im Zweifel KEIN ScreenShot ... die Daten kann man schlecht per copy&paste bei einem Test-System ausprobieren
Btw:
Zusammengefasst:
Du hattest bisher einen "Dienstleister", der Dir das FHEM aufgesetzt hatte. Das hattest Du dann selber "verbessert". Aktuell suchst Du aber einen "Neuen", da der alte keine Zeit mehr hat?
Ah, macht Sinn mit dem Screenshot, danke für den Hinweis.
Jein, kein Dienstleister, ein enger Familienangehöriger, der mir aktuell auf meine Fragen mit "lies mal im Fhem-Forum" oder "Frag KI" antwortet. Bisher bin ich da auch gut weiter gekommen, nur mit dem Rollladen, das fuchst mich, dass ich das nicht hinbekomme.... aber scheinbar ist es wohl nicht so einfach, wie ich erhofft hatte und braucht viel viel mehr Hintergrundwissen für die Helfenden. :-(
Zitat von: Sailor am 31 Dezember 2023, 15:42:03Hallo Blubb78
Herzlich Willkommen bei fhem.
Anbei als Beispiel meine Loesung:
Annahme
Du hast deinen Räumen alle 2 Buchstaben als Raum-Code vergeben:
AS - art studio
PH - pattio house
PA - pattio art studio
PS - pattio south
PE - pattio entrance
GP - garden pond
B0 - guest bathroom
B1 - family bathroom
BR - bedroom
CE - childrens room east
CW - childrens room west
CR - chimney room
CH - boiler room
CP - carport
DR - dining room
GE - garden-equipment room
GH - greenhouse
GR - guest room
HW - hallway
KT - kitchen
LR - laundry room
LF - loft
OS - outside
R1 - roof space southeast in bedroom
R2 - roof space southwest in bedroom
R3 - roof space northeast in childrens room east (Ben)
R4 - roof space northwest in childrens room west (Leo)
SR - rear storage room
TR - TV room
WS - workshop
und stellst diese den immer gleich lautenden Namen für gleiche Funktionen voran.
KT_Blind
KT_Light_Sw
KT_Thermostat
KT_Thermostat_climate
KT_Thermostat_window
GR_Blind
GR_Light_Sw
usw.
Dann erstellst du die Datei /opt/fhem/FHEM/99_myUtils.pm (Die wirst du in Zukunft ohnehin noch sehr oft brauchen) und kopierst folgenden Inhalt rein:
###START###### PERL Initialisation ############################################################################START####
package main;
use strict;
use warnings;
use utf8;
use POSIX;
use HttpUtils;
use JSON;
use Array::Utils qw(:all);
use Email::Sender::Simple qw(sendmail try_to_sendmail);
use Email::Sender::Transport::SMTPS;
use Email::Simple ();
use Email::Simple::Creator ();
use Email::MIME;
use MIME::QuotedPrint;
use HTML::Entities;
use JSON::Parse;
use LWP::UserAgent;
use LWP::Simple;
use Net::OpenSSH;
use IO::All;
sub myUtils_Initialize($$) {
my ($hash) = @_;
}
####END####### PERL Initialisation #############################################################################END#####
###START########## Define SUB for calculation of sunset actions #################################################START###
sub AstroActionTime($$$) {
my ($AstroAction, $TimeNotBefore, $TimeLatest) = @_;
my $TimeSecAction;
my $TimeAction;
my $TimeSecAstroAction;
### For debugging purpose only
Log 5, "myUtils - AstroActionTime____________________________________________________________________";
my $Today = POSIX::strftime("%Y-%m-%d",localtime(time));
my $TimeAstroAction = Astro_Get($defs{"global"},"global","text",$AstroAction,$Today);
my $TimeSecNotBefore = hms2secs($TimeNotBefore);
my $TimeSeclatest = hms2secs($TimeLatest);
Log 5, "myUtils - AstroActionTime - Today : " . $Today;
Log 5, "myUtils - AstroActionTime - AstroAction : " . $AstroAction;
Log 5, "myUtils - AstroActionTime - TimeNotBefore : " . $TimeNotBefore;
Log 5, "myUtils - AstroActionTime - Astro_Get : " . Astro_Get($defs{"global"},"global","text",$AstroAction,$Today);
Log 5, "myUtils - AstroActionTime - TimeAstroAction : " . $TimeAstroAction;
Log 5, "myUtils - AstroActionTime - TimeLatest : " . $TimeLatest;
Log 5, "myUtils - AstroActionTime - Calculations...";
if ($TimeAstroAction =~ /^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$/){
$TimeSecAstroAction = hms2secs($TimeAstroAction);
}
else {
$TimeSecAstroAction = 0;
}
if ($TimeSecAstroAction < $TimeSecNotBefore){
$TimeSecAction = $TimeSecNotBefore;
}
elsif ($TimeSecAstroAction > $TimeSeclatest){
$TimeSecAction = $TimeSeclatest;
}
else {
$TimeSecAction = $TimeSecAstroAction;
}
$TimeAction = POSIX::strftime("%H:%M:%S",gmtime($TimeSecAction));
Log 5, "myUtils - AstroActionTime - TimeSecNotBefore : " . $TimeSecNotBefore;
Log 5, "myUtils - AstroActionTime - TimeSecAstroAction : " . $TimeSecAstroAction;
Log 5, "myUtils - AstroActionTime - TimeSeclatest : " . $TimeSeclatest;
Log 5, "myUtils - AstroActionTime - TimeSecAction : " . $TimeSecAction;
Log 5, "myUtils - AstroActionTime - TimeAction : " . $TimeAction;
return($TimeAction);
}
####END########### Define SUB for calculation of sunset actions ##################################################END####
Dieser Code errechnet ob der nautische Sonnenaufgang oder Untergang für deinen Geschmack nicht viel zu früh bzw. zu spät kommt.
Dann erstellst du dir 2 at (Timer)
define at_Sunrise at *{AstroActionTime("SunRise","06:00:00","08:00:00")} {}
Um Mitternacht berechnet fhem den Timer neu nach folgenden Kriterien:
Zum Sonnenaufgang loese den Code (unten) aus aber
wenn der Sonnenaufgang früher als 06:00 Uhr ist, warte bis 06:00 Uhr.
wenn der Sonnenaufgang später als 08:00 Uhr ist, löse trotzdem um 08:00 Uhr aus.
In diesem at_Sunrise speicherst du unter DEF den folgenden Code:
(Die Namen für deine Rollladen musst du natürlich entsprechend ändern)
*{AstroActionTime("SunRise","06:00:00","08:00:00")} {
Log3 "at_Sunrise", 3, "at_Sunrise : Sunrise is triggered - opening blinds.";
#Unconditional opening
fhem("set LR_Blind.* pct 100");
fhem("set KT_Blind.* pct 100");
fhem("set CW_Blind.* pct 100");
fhem("set CE_Blind.* pct 100");
fhem("set AS_Blind.* pct 100");
fhem("set CR_Blind.* pct 100");
fhem("set TR_Blind.* pct 100");
fhem("set GR_Blind.* pct 100");
}
Für den Sonnenuntergang gilt das gleiche:
define at_Sunset at *{AstroActionTime("SunSet","18:00:00","22:00:00")} {}
mit dem folgenden Code unter DEF
*{AstroActionTime("SunSet","18:00:00","22:00:00")} {
Log3 "at_Sunset", 3, "at_Sunset : Sunset is triggered closing blinds.";
#Unconditional closure
fhem("set LR_Blind.* pct 0");
fhem("set KT_Blind.* pct 0");
fhem("set CW_Blind.* pct 0");
fhem("set CE_Blind.* pct 0");
fhem("set GR_Blind.* pct 0");
}
Dann musst du noch bei beiden das Attribut "computeAfterInit" setzen, damit fhem die Zeiten nicht zu früh nach dem Neustart von fhem ausführt:
attr at_Sunrise computeAfterInit 1
attr at_Sunset computeAfterInit 1
Oben links auf "Save" klicken und fhem mit "shutdown restart" neu starten.
Das sollte eigentlich klappen...
Gruß
Sailor
PS: Wenn du attr global verbose 5
setzt, kannst du die einzelnen Berechnungsstufen genau einsehen.
Aber nicht vergessen hinterher wieder auf 3 zu stellen, sonst ist dein Log-File recht schnell zugefüllt.
Danke für Deine ausführliche Antwort. Ich versteh zwar vieles nicht, aber trotzdem mal eine Frage dazu. Diese Lösung richtet sich auch nach Daten aus dem Internet, wann die Sonne auf- oder untergeht?
Zitat von: CoolTux am 03 Januar 2024, 12:45:09Für das Thema Rolladen könnte man sich mal das ASC (AutoShuttersControl) Modul anschauen. Ansonsten wäre eine Beschreibung was genau Du erreichen willst und ein list der betreffenden Devices hilfreich.
list DEVICENAME
Aktuell laufen die Rollläden vereinfacht gesagt nach den aus dem Internet bezogenen offiziellen Sonnenauf- und Sonnenuntergängen.
Aufgrund von gutem oder schlechtem Wetter sitz ich aber regelmäßig wenns schon hell ist noch da mit Rollläden unten und umgekehrt.
Wir haben ein Balkonkraftwerk, ich würde gern steuern, dass die Rollläden hoch/runter gehen, sobald eine bestimmte Menge Strom (nicht mehr) fließt (in einem bestimmten Zeitraum)
Hallo,
meine Empfehlung wäre das bereits erwähnte ASC-Modul zu verwenden.
Du kannst ja klein anfangen und erstmal nur einen Rollladen damit fahren/testen, später (bei Gefallen) Stück für Stück dann die anderen ergänzen.
Rolladen_alle_ohne_Schlafzimmer versteh ich so dass das eine structure ist, da pickst Dir einfach einen Rollladen raus den dort rausnimmst, um ihn dann zur Verwendung mit dem ASC-Modul zu konfigurieren.
- Hier mal kurz drüberlesen: https://wiki.fhem.de/wiki/AutoShuttersControl#Einrichtung
- Dann das hier (vorallem das grün hinterlegte Infofeld): https://wiki.fhem.de/wiki/AutoShuttersControl#Schlie%C3%9Fen_morgens_und_abends
- loslegen/machen, das später auch gleich über ASC gefahren werden kann
Das kann man mit ASC steuern. Inklusive Zeitvorgabe unter der die Bedingung gelten soll.
Man kann das aber auch sehr viel weniger kompliziert machen, ohne Perl-Programmierung.
Erstens gibt es das Modul Astro, damit werden Sonnenauf- und Untergänge berechnet. Übrigens auch Sonnenstände, wichtig für eine Beschattungssteuerung und ein Balkonkraftwerk.
Zweitens gibt es das Modul YAAHM, bei dem über eine komfortable Oberfläche zeitabhängige Aktionen zusammengeklickt werden können.
Beispielsweise zu den frei definierbaren Zeitpunkten "Nach Sonnenuntergang", oder "Wecken" etc.
Aber auch so etwas wie "Nach Sonnenuntergang, aber frühestens um 18:00".
Und, wie sollte es auch anders sein: Ich empfehle immer das Buch "Hausautomatisierung mit FHEM". Ist inzwischen auch als PDF weit verbreitet und kostenfrei zu bekommen.
LG
pah
Zitat von: Blubb78 am 03 Januar 2024, 12:24:16Mein (natürlich nicht erfolgreicher) Versuch war zum Beispiel mal so:
*{sunset("06:00","23:59")} IF ([PV:Gesamtleistung]<20) (set Fenster_rechts pct 90) ELSE (set Fenster_rechts pct 80)
(nur ein Test, Zahlen unrealistisch)
Nur mal was zum Überlegen:
Du benötigst mindestens den Trigger für den Sonnenaufgang und die Solaranlage. Dein at triggert nur einmalig bei Sonnenaufgang. Was ist, wenn zu dem Zeitpunkt die Solaranlage noch nichts produziert (bspw. dicke Regenwolken) oder an diesem Tag gar nichts produziert (bspw. bei Schnee). Du müsstest daher auch einen Time-Range angeben. Aus meiner Sicht am idealsten ohne Einarbeitung in spezielle Module wäre die Nutzung eines DOIF - unter Auswertung von sunset mit min, max und offset sowie der PV Gesamterzeugung.
Vielleicht so in der Art (unter Nutzung des Twilight Moduls):
defmod doif.Fenster_rechts DOIF ([[Twilight:ss_civil]-[Twilight:sr_naut]] or ([PV:Gesamtleistung] < 20) (set Fenster_rechts pct 90)
DOELSE (set Fenster_rechts pct 80)
Zitat von: FHEMAN am 05 Januar 2024, 16:45:10Zitat von: Blubb78 am 03 Januar 2024, 12:24:16Mein (natürlich nicht erfolgreicher) Versuch war zum Beispiel mal so:
*{sunset("06:00","23:59")} IF ([PV:Gesamtleistung]<20) (set Fenster_rechts pct 90) ELSE (set Fenster_rechts pct 80)
(nur ein Test, Zahlen unrealistisch)
Nur mal was zum Überlegen:
Du benötigst mindestens den Trigger für den Sonnenaufgang und die Solaranlage. Dein at triggert nur einmalig bei Sonnenaufgang. Was ist, wenn zu dem Zeitpunkt die Solaranlage noch nichts produziert (bspw. dicke Regenwolken) oder an diesem Tag gar nichts produziert (bspw. bei Schnee). Du müsstest daher auch einen Time-Range angeben. Aus meiner Sicht am idealsten ohne Einarbeitung in spezielle Module wäre die Nutzung eines DOIF - unter Auswertung von sunset mit min, max und offset sowie der PV Gesamterzeugung.
Vielleicht so in der Art (unter Nutzung des Twilight Moduls):
defmod doif.Fenster_rechts DOIF ([[Twilight:ss_civil]-[Twilight:sr_naut]] or ([PV:Gesamtleistung] < 20) (set Fenster_rechts pct 90)
DOELSE (set Fenster_rechts pct 80)
Jetzt wollt ich mir mal in Ruhe dieses von den anderen genannten Modul anschauen, aber das hier klingt einfacher, vielen Dank!
Wie nutz ich denn das Twilight-Modul?
Und warum, auch bei anderen versuchen, erhalten ich diese Meldung: "Wrong timespec defmod: either HH:MM:SS or {perlcode}"
Vielen Dank schon mal für Deine Hilfe!
Zitat von: Blubb78 am 05 Januar 2024, 17:04:33Wie nutz ich denn das Twilight-Modul?
Gib mal
help twilight
oben in die FHEM Befehlszeile ein.
Zitat von: Blubb78 am 05 Januar 2024, 17:04:33Und warum, auch bei anderen versuchen, erhalten ich diese Meldung: "Wrong timespec defmod: either HH:MM:SS or {perlcode}"
Du versuchst, ein at-device mit einer ungültigen Angabe für den Ausführungszeitpunkt anzulegen.
Aber ohne zu wissen, was Du da genau "versuchst", ist es schwer, dir den konkreten Fehler zu benennen.
Zitat von: betateilchen am 05 Januar 2024, 17:12:24Zitat von: Blubb78 am 05 Januar 2024, 17:04:33Wie nutz ich denn das Twilight-Modul?
Gib mal help twilight
oben in die FHEM Befehlszeile ein.
Zitat von: Blubb78 am 05 Januar 2024, 17:04:33Und warum, auch bei anderen versuchen, erhalten ich diese Meldung: "Wrong timespec defmod: either HH:MM:SS or {perlcode}"
Du versuchst, ein at-device mit einer ungültigen Angabe für den Ausführungszeitpunkt anzulegen.
Aber ohne zu wissen, was Du da genau "versuchst", ist es schwer, dir den konkreten Fehler zu benennen.
Die Meldung erscheint zum Beispiel, wenn ich Deinen vorgeschlagenen Code versuche abzuspeichern.
Zitat von: Blubb78 am 05 Januar 2024, 17:45:19Die Meldung erscheint zum Beispiel, wenn ich Deinen vorgeschlagenen Code versuche abzuspeichern.
In diesem Thread habe ich noch gar keinen Code gepostet...
Vermutlich versuchst Du, das Beispiel mit AstroActionTime() einzubauen,
ohne die Verwendung des Astro-Moduls in Deinem FHEM aktiviert zu haben.ohne dass es die Funktion bei Dir überhaupt gibt.
Zitat von: betateilchen am 05 Januar 2024, 17:52:37Zitat von: Blubb78 am 05 Januar 2024, 17:45:19Die Meldung erscheint zum Beispiel, wenn ich Deinen vorgeschlagenen Code versuche abzuspeichern.
In diesem Thread habe ich noch gar keinen Code gepostet...
Vermutlich versuchst Du, das Beispiel mit AstroActionTime() einzubauen,
ohne die Verwendung des Astro-Moduls in Deinem FHEM aktiviert zu haben.
ohne dass es die Funktion bei Dir überhaupt gibt.
AstroActionTime()? hmmm, die Meldung kommt bei diesem Versuch zum Beispiel:
defmod doif.Tuer_WoZi DOIF ([[Twilight:ss_civil]-[Twilight:sr_naut]] or ([PV:Gesamtleistung] < 20) (set Tuer_WoZi pct 90)
DOELSE (set Tuer_WoZi pct 80)
Das Modul Twilight gibt es nun...
Mal noch ne ganz andere Frage. Geb ich das ganze vllt. an der völlig falschen Stelle ein? Ich weiß gar nicht, wie genau ich meine Frage formulieren soll, sorry. Ich hab ja schon "Befehle", zum Beispiel, dass der Rollladen x Sekunden nach dem Sonnenaufgang hoch gehen soll, im Zeitraum zwischen z.B. 6 - 8 Uhr. Das funktioniert ja schon. Bin ich da schon in einem Modul? Oder wo bin ich da "drin"?
Zitat von: Blubb78 am 05 Januar 2024, 18:18:16Mal noch ne ganz andere Frage. Geb ich das ganze vllt. an der völlig falschen Stelle ein?
...
Bin ich da schon in einem Modul? Oder wo bin ich da "drin"?
Warum muss ich jetzt an Boris Becker und AOL denken?
Das ist eine gute Frage. Ohne Dir zu nahe treten zu wollen:
Dir fehlen die einfachsten Grundlagen zu FHEM, das macht die Sache hier sehr kompliziert.
So einfache Fragen wie
- "was ist ein device?"
- "wie bzw. wo lege ich ein device an?"
- "was sind Funktionen?"
- ...
In ein Modul wirst Du vermutlich (und hoffentlich) nie kommen, keine Sorge.
Aber wo tippst Du denn in Deinem FHEM tatsächlich irgendwas wie beispielsweise
define at_Sunset at *{AstroActionTime("SunSet","18:00:00","22:00:00")} {}
ein?
Zitat von: betateilchen am 05 Januar 2024, 18:37:03Zitat von: Blubb78 am 05 Januar 2024, 18:18:16Mal noch ne ganz andere Frage. Geb ich das ganze vllt. an der völlig falschen Stelle ein?
...
Bin ich da schon in einem Modul? Oder wo bin ich da "drin"?
Warum muss ich jetzt an Boris Becker und AOL denken?
Das ist eine gute Frage. Ohne Dir zu nahe treten zu wollen:
Dir fehlen die einfachsten Grundlagen zu FHEM, das macht die Sache hier sehr kompliziert.
So einfache Fragen wie
- "was ist ein device?"
- "wie bzw. wo lege ich ein device an?"
- "was sind Funktionen?"
- ...
Du hast natürlich Recht und deshalb bin ich auch sehr sehr dankbar hier Antworten von geduldigen Menschen wie Dir (und den anderen die hier geantwortet haben) zu bekommen. Wenn ich mich jetzt über die von Dir genannten Begriffe schlau mach, gibt es trotzdem weiterhin so so viel, von dem ich nur Bahnhof verstehe. Es ist für mich alles so unendlich umfangreich, dass ich vor lauter Bäumen den Wald nicht sehe und überhaupt nicht weiß, wo ich anfangen soll.
ZitatIn ein Modul wirst Du vermutlich (und hoffentlich) nie kommen, keine Sorge.
Aber wo tippst Du denn in Deinem FHEM tatsächlich irgendwas wie beispielsweise
define at_Sunset at *{AstroActionTime("SunSet","18:00:00","22:00:00")} {}
ein?
Hmmm, in meine schon bestehende Rollladenautomatik, die ich optimieren möchte.
Change wizard
Change the timespec:
Relative Periodic Use perl function for timespec
sunrise(2300,"19:34","20:30")
Change the executed command:
Rollladen_TEST *{sunrise(2300,"19:34","20:30")} set
01_Zentraltaster_Rolladen_zu
trgEventS
Rollladen_TEST
active
und dann kommt direkt ein neuer Block
Internals
COMMAND [...]
DEF hier geb ichs ein
[...]
Vermutlich sitzt Du nun kopfschüttelnd und mit Hände überm Kopf zusammen schlagend vorm PC... aber irgendwie hats halt bisher funktioniert.
Das ist die falsche Stelle. Du versuchst da, ein bestehendes device (!) zu verändern und das erklärt auch die Stelle, an der die Fehlermeldung wegen der timespec auftritt.
Sowas gibt man ganz oben in der Befehlszeile von FHEM ein.
Hast Du Dir mal die Anfängerdokumentation zu FHEM durchgelesen? Damit Du zumindest ansatzweise verstehen kannst, was die Hilfestellungen, die man Dir hier trotz aller Hoffnungslosigkeit gibt, überhaupt bedeuten?
Zitat von: betateilchen am 05 Januar 2024, 20:17:48Das ist die falsche Stelle. Du versuchst da, ein bestehendes device (!) zu verändern und das erklärt auch die Stelle, an der die Fehlermeldung wegen der timespec auftritt.
Sowas gibt man ganz oben in der Befehlszeile von FHEM ein.
Hast Du Dir mal die Anfängerdokumentation zu FHEM durchgelesen? Damit Du zumindest ansatzweise verstehen kannst, was die Hilfestellungen, die man Dir hier trotz aller Hoffnungslosigkeit gibt, überhaupt bedeuten?
Teile gelesen, Teile überflogen, bei Fhem Wiki versucht mit konkreten Suchberiffen weiter zu kommen.......
Also ist das der völlig falsche Ansatz an der Stelle, wo ich versuche, anzupassen? Ich zerstöre natürlich nichts funktionierendes, sondern habs mir vorher kopiert, um dann ausprobieren zu können.
Bisher hatte ich an der Stelle meinen Befehl "Rollladen runter, bei Sonnenuntergang aber frühestens/spätestens zu Zeitpunkt x" und nun möchte ich Sonnenuntergang durch "sehr wenig Strom von der PV-Anlage" ersetzen. Das muss in die Befehlszeile?
Oben in der Befehlszeile geb ich doch ein, was jetzt passieren soll? Da hab ich vorhin dieses Twilight erstellt mit meinen Daten?
Bin ich so komplett auf dem falschen Weg?
ZitatBin ich so komplett auf dem falschen Weg?
Ja, leider. Ich kann nur meinen Tipp wiederholen, ganz unten anzufangen und mit ein paar einfachen Beispielen zu versuchen, die hier genannten Strukturen zu verstehen. Und eben _nicht_ gleich die astronomische Steuerung der eigenen Rollläden zu modifizieren. Hinter diesem Tipp stehen, wenn ich das sagen darf, etliche Jahrzehnte der Erfahrung damit, nicht-technischen Personen technische oder naturwissenschaftliche Dinge beizubringen.
Aus genau dem Grund (und für eine Person, die auch etwas Schwierigkeiten hatte...) habe ich auch das YAAHM-Modul geschrieben. Das steuert nämlich nichts selbst, sondern erzeugt entsprechende DOIFs. Vlt. einfach mal ansehen: https://wiki.fhem.de/wiki/Modul_YAAHM
Und dann ganz unabhängig von den Rollläden erstmal damit irgendetwas machen, und sich ansehen, wie die entsprechenden Timer/DOIFs aussehen.
LG
pah
P.S.: Und erst mal Finger weg von wohlgemeinten Code-Beispielen, die man nicht komplett versteht.