Neues Modul - Heating_Control, WeekdayTimer

Begonnen von Dietmar63, 04 Januar 2013, 19:42:26

Vorheriges Thema - Nächstes Thema

Dietmar63

die Änderung konnte ich auf  Heating_Control_Define($$) beschränken
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Gunther

Zitat von: orti-otto schrieb am Do, 24 Januar 2013 20:49die Änderung konnte ich auf  Heating_Control_Define($$) beschränken


ich glaub, jetzt stehe ich auf der Leitung. Muss ich hier etwas ändern oder ist das eine Änderung im Modul. Sorry für mein DAU-Verhalten...
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Dietmar63


die Änderung konnte ich auf Heating_Control_Define($$) beschränken


war eine Antwort für Tobias, der auch Änderungen am Modul vorgenommen hat.
Wir müssen den Code nochmals mischen, und er wollte wissen wo ich die letzen Änderungen vorgenommen habe.

Modul bitte nicht ändern.

Die Beispiele für Dich waren in
Link


hast Du genau diese Fm bekommen?
invalid Device, given Device <eg_az_Heizung> not found




Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Gunther

ne da stand nur das was ich vorher gepostet habe.
Habe nochmal gebootet und nun gehts... :-) Danke!
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

genial wäre nun natürlich noch ein Raster das man nicht über die cfg sondern ähnlich der Soll-Temperatur mit einem set setzen kann.

Wie bekomme ich in der Übersicht des Devices zumindest die Werte angezeigt wie oben in einem Screeenshot gezeigt?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Dietmar63

Click mal in der Übersicht auf HCW1. Wenn du Übersteuern willst kennst du direkt das Gerät schalten!
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Gunther

Zitat von: Gunther schrieb am Do, 24 Januar 2013 22:56Wie bekomme ich in der Übersicht des Devices zumindest die Werte angezeigt wie oben in einem Screeenshot gezeigt?

ok den Heizungsplan habe ich nun unter Heating_Control gefunden. Klasse, danke!
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

gagga

Das Modul ist spitze. Vielen Dank dafür!
Eine Frage: Schon eine Idee für die "berühmte Ausnahme"? D.h. man hat seinen Wochenplan definiert, möchte aber möglichst einfach eine Ausnahme definieren, d.h. einen anderen Tagesplan z.B. "Muß früh zum Flieger also Bad früher warm" oder "Party! Wohnzimmer warm bis morgens um 5".
Google Calendar Verknüpfung? (damit auch einfach in die Zukunft eine Ausnahme planbar) Sonst eine Idee?

Ciao,
gagga
fhem tagesaktuell aus SVN auf QNAP TS-419PII - 1 x CUL mit culfw1.49 - 1 x MAX! Cube - 3 x MAX! Thermostate - 2 x MAX! Fensterkontakt - 3 x HM Rauchmelder - 1 x HM Bewegungsmelder - 1 x HM Temperaturfühler - 3 x Elro-IT Steckdosen (Schrott) - 1 x FS20 WS1

Dietmar63

viele schöne Ideen.
sind aber auch aufwendig in der Umsetzung und vielleicht auch kompliziert in der Bedienung.

Du kannst Dir mehrere Heating_Control  definieren.
Wir könnten dem Modul noch eine disable-Funktion spendieren(wie bei at oder notify) dann könnte man über die Oberfläche temporär an- und abschalten.  

Dir ist vielleicht bekannt, dass man in der Detailansicht der Geräte  die "DEF" per modify temorär ändern kann.

hier ist alles bestens beschrieben:
http://fhem.de/Heimautomatisierung-mit-fhem.pdf
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Zitat von: Martin Fischer schrieb am Sa, 05 Januar 2013 19:54hiya dietmar,

werte habe ich leider noch nicht, da ich HCS erst im 4. quartal 2012 veröffentlicht habe. ich gehe aber mal vorsichtig mit einer schätzung von bis zu 10% (vielleicht sogar mehr) aus (ich werde wahrscheinlich auch keine genaueren werte bekommen, da ich im vorjahr noch im haus eine wohnung vermietet hatte und da das gesamte heizverhalten ja noch ganz anders war).

es entfallen ja a) die ganzen intervalle die die heizung von sich aus auf den heizkreislauf gibt und b) ist es ja nicht nur so, wie in den graphen zuvor zu sehen, dass die heizung von 07 - 22 uhr durchläuft. sobald es draussen wieder etwas wärmer wird, greift HCS auch tagsüber häufiger ein:


(siehe Anhang / see attachement)


hier sieht man z.b. das zwischen ca. 0:00 bis 06:00 uhr heizbedarf anlag (wahrscheinlich weil ich da mal wieder eine nacht programmiert habe ;-)), dann aber bis ca. 15:15 uhr alle räume so warm waren, das die heizung halt auch ausbleiben konnte und erst wieder ab ca. 15:15 bis 20:00 uhr laufen musste. und wie bereits geschrieben: man hat ja nicht nur die einsparung am gasverbrauch sondern in meinem aufbau auch am stromverbrauch, da eben dann auch die pumpe nicht läuft.

wenn du tatsächlich eine gleiche oder ähnliche therme einsetzt, dann solltest du dir mal meinen aufbau näher ansehen. da brauch man wirklich kein elektriker sein: heizung vom stromkreis trennen, kabel an "Klemme 3-4-5" und mit z.b. HM-LC-Sw1-SM verbinden. der muss natürlich mit 230v eingespeisst werden. aber dafür gibts ja sicherungen. ;-)

ABER:
man hantiert hier dennoch mit 230 volt und sollte sich im klaren sein, was man tut!

daher lieber einen "fachmann" dran lassen, wenn man sich das nicht zutraut. auch sollte man darauf achten, das die schaltzeiten nicht zu kurz gewählt werden. deshalb habe ich in HCS auch die "idleperiod" eingebaut. siehe auch: FHEM Modul HCS überarbeitet
.

gruss martin

Wie bekommst Du die schönen Bilder in den Text hinein. Manchmal sagt ein Bild mehr aus als tausend Worte. Wie kann man von der FHEM-Oberfläche hardcopys machen und dann als Bild einfügen ohne große Bildprogramme zu starten? Ich habe mir das übrigens mit den Klemmen 3-4-5 meiner Vailant angesehen. Sieht einfach aus -  werde hcs bald ausprobieren. Was meinst Du? Kann man nicht einfach eine schaltbare Steckdose von fs20 nehmen und ein Kabel an die Klemmen führen?


Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Tobias

Hi Dietmar,
bitte am MOdul erstmal nichts ändern da ich auf deiner Version weiter aufbaue. Insb. die Doku und Code aufräumen
gruss
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Hier mal die deutsche Doku, würdeich jetzt so lassen falls bis heute mittag keine Änderungswünsche reinkommen
######################################

Heating Control


    Define
        define <name> Heating_Control <device> <profile> <command>|<condition>

        Bildet ein Wochenprofil für ein <device>, zb. Heizkörper, ab. Es können für jeden Tag unterschiedliche Schaltzeiten angegeben werden. Ist das <device> ein Heizkörperthermostat (zb. FHT8b, MAX) so wird die zu setzende Temperatur im <profile> automatisch mittels set <device> desired-temp <temp> dem Device mitgeteilt. Ist eine <condition> angegeben und ist zum Schaltpunkt der Ausdruck unwahr, so wird dieser Schaltpunkt nicht ausgeführt.
        Alternativ zur Automatik kann stattdessen eigener Perl-Code im <command> ausgeführt werden.

        Folgende Parameter sind im Define definiert:
            device
            Das an den Schaltpunkten zu schaltende Device.

            profile
            Angabe des Wochenprofils. Die einzelnen Schaltzeiten sind durch Leerzeichen getrennt Die Angabe der Schaltzeiten ist nach folgendem Muster definiert:
                [<Wochentage>|]<Uhrzeit>|<Temperatur>
            Wochentage: optionale Angabe, falls nicht gesetzt wird der Schaltpunkt jeden Tag ausgeführt. Für die Tage an denen dieser Schaltpunkt aktiv sein soll, ist jeder Tag mit seiner Tagesnummer (Mo=1, ..., So=7) oder Name des Tages (Mo, Die, ..., So) einzusetzen.
            Uhrzeit:Angabe der Uhrzeit an dem geschaltet werden soll, Format: HH24:MI
            Temperatur:Angabe der zu setzenden Temperatur als Zahl

            command
            Falls keine Condition in () angegeben wurde, so wird alles weitere als Command interpretiert. Perl-Code ist in {} zu setzen. Wichtig: Falls ein Command definiert ist, so wird zu den definierten Schaltzeiten nur(!) das Command ausgeführt. Falls ein desired-temp Befehl abgesetzt werde soll, so muss dies explizit angegeben werden.
            Folgende Parameter werden ersetzt:
                @ => das zu schaltende Device
                % => die zu setzende Temperatur

            condition
            Bei Angabe einer Condition ist diese in () zu setzen und mit validem Perl-Code zu versehen.
            Der Rückgabedatentyp der condition muss boolean sein.
            Die Parameter @ und % werden interpretiert.

        Beispiel:
            define HCB Heating_Control Bad_Heizung 12345|05:20|21 12345|05:25|12 17:20|21 17:25|12
            Mo-Fr wird die Temperatur um 05:20Uhr auf 21°C, und um 05:25Uhr auf 12°C gesetzt. Jeden Tag wird die Temperatur um 17:20Uhr auf 21°C und 17:25Uhr auf 12°C gesetzt.

            define HCW Heating_Control WZ_Heizung 07:00|16 Mo,Die,Mi|16:00|18.5 20:00|12 {fhem("set dummy on"); fhem("set @ desired-temp %");}
            Zu den definierten Schaltzeiten wird nur(!) der in {} angegebene Perl-Code ausgeführt.

            define HCK Heating_Control KZ_Heizung 07:00|16 16:00|18.5 20:00|12 ($sunshine=0))
            Die zu setzendeTemperatur wird nur gesetzt, falls die globale Variable $sunhine=0 ist.


    Set
        N/A

    Get
        N/A

    Attributes
        disable
        loglevel
        event-on-update-reading
        event-on-change-reading
        stateFormat
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

jhohn

Mir sind nur zwei Kleinigkeiten aufgefallen:

oder Name des Tages (Mo, Die, ..., So) -> Abkürzungen mit 2 oder mit 3 Buchstaben oder egal?
HH24:MI -> würde ich als "HH:MM (HH im 24 Stunden Format)" schreiben
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

Uli

Ich habe mir das Modul aus dem Post vom 23.1. geladen und in mein FHEM Verzeichnis auf einer FritzBox 7390 kopiert. FHEM ist per update auf den letzten Stand gebracht.

Wenn Heating_Control geladen werden soll, kommt folgende Meldung:

Global symbol "$readingFnAttributes" requires explicit package name at ./FHEM/98_Heating_Control.pm line 43.

Habe ich was übersehen?
Gruß

Uli

seit 01/2023 kein FHEM mehr. Bin nur noch aus historischen Gründen hier

Tobias

Zitat von: Uli schrieb am Fr, 25 Januar 2013 09:45Ich habe mir das Modul aus dem Post vom 23.1. geladen und in mein FHEM Verzeichnis auf einer FritzBox 7390 kopiert. FHEM ist per update auf den letzten Stand gebracht.

Wenn Heating_Control geladen werden soll, kommt folgende Meldung:

Global symbol "$readingFnAttributes" requires explicit package name at ./FHEM/98_Heating_Control.pm line 43.

Habe ich was übersehen?

Kommt dann, wenn dein fhem.pl veraltet ist. Mach mal ein "shutdown restart"
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter