ZitatDafür benötigt man Steuersignale, die überschüssige PV-Energie oder Niedrigtarifzeiten signaliseren. In https://forum.fhem.de/index.php?topic=137058.msg1353068#msg1353068 habe ich grob dargestellt, wie SolarForecast dies sowohl bei festen als auch bei variablen Energiekosten unterstützen könnte.Was Steuersignale usw. angeht stimme ich dem voll zu.
ZitatOffensichtlich stört das %-Zeichen.Ich tippe eher auf das ' (Single-Quote)
defmod Deye12k MQTT2_DEVICE SA
attr Deye12k IODev myBroker130
attr Deye12k autocreate 1
attr Deye12k disable 0
attr Deye12k readingList SA/inverter_1/.* { json2nameValue($EVENT,'',$JSONMAP,'','device_mode') }
attr Deye12k room MQTT2_DEVICE,PV
setstate Deye12k 2026-01-26 11:48:14 293
setstate Deye12k 2026-01-24 15:52:05 33
setstate Deye12k 2026-01-25 18:00:56 IODev myBroker130
setstate Deye12k 2026-01-26 11:48:14 json2nameValueErrorText error parsing (#2) 'Discharge above 40%'
setstate Deye12k 2026-01-26 11:48:14 json2nameValueInput Discharge above 40%
ule_id: 25, activ, functionbitmask: 0x140, emc: 0xb74, pollbit: 0, pollhold: 0, payloadtype: avm, dlctype: avm, dsaa2: 0, name: Arbeitszimmer
hwversion: 0x606, hwslaveversion: 0x0, fw: 0x517(), fwhash: 0x0000000000C467(25-6-23 7:30), ifaceversion: 266, pvcreset: 1, pvcinitstate: 1, update lasttime: 0 state: 0,
valve_position: 63, valve_motions: 237, valve_steps: 56764
Paging req_resptime 0 bit 127 paging_desc ff ff ff ff, pagecnt 0,timer pagingcheck: 0, update: 0, update_trigger_cnt: 0, nonpagingtxabort: 0, nonpagingstubfree: 0, nonpagingidletimeout: 0
time(last) validmsg: 1769421659, paging: 0, locateind: 1769099470, lockedind 0, statechange: 1769099470, pvcinit 0, pvcreset 0, attrreportwatch: 0, nocfmcnt: 0, pollinterval 900, polltimeout 3000
TX Lastitems:
time: 1769410744, msgid: 34, HKRSCHALTPUNKTE: len: 24, nextm: 0, 18 00 91 00 20 58 ff ff ff ff ff ff 28 58 ff ff ff ff ff ff 28 58 ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769410744, msgid: 33, HKRSCHALTPUNKTE: len: 33, nextm: 1, 21 00 91 01 02 20 58 ff ff ff ff ff ff 20 58 ff ff ff ff ff ff 20 58 ff ff ff ff ff ff 20 58 ff ff ff ff ff ff 00 00 00
time: 1769410744, msgid: 32, HKRHOLIDAY: len: 18, nextm: 0, 12 00 93 00 80 01 01 80 09 1a 01 1a fd 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769410744, msgid: 31, HKRHOLIDAY: len: 27, nextm: 1, 1b 00 93 01 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00 00
time: 1769410744, msgid: 30, HKRHOLIDAY: len: 28, nextm: 2, 1c 00 93 02 02 00 01 06 80 17 1f 08 80 fd 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00
time: 1769379199, msgid: 29, DATETIME: len: 6, nextm: 0, 06 00 03 00 02 0d 17 19 01 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769292839, msgid: 27, DATETIME: len: 6, nextm: 0, 06 00 03 00 02 0e 17 18 01 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769206479, msgid: 25, DATETIME: len: 6, nextm: 0, 06 00 03 00 02 0f 17 17 01 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769120241, msgid: 23, DATETIME: len: 6, nextm: 0, 06 00 03 00 02 11 17 16 01 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769099612, msgid: 21, HKRHOLIDAY: len: 18, nextm: 0, 12 00 93 00 80 01 01 80 80 01 01 80 fd 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769099612, msgid: 20, HKRHOLIDAY: len: 27, nextm: 1, 1b 00 93 01 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00 00
time: 1769099612, msgid: 19, HKRHOLIDAY: len: 28, nextm: 2, 1c 00 93 02 02 00 01 06 80 17 1f 08 80 fd 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00
time: 1769099611, msgid: 18, HKRSCHALTPUNKTE: len: 24, nextm: 0, 18 00 91 00 43 58 ff ff ff ff ff ff 28 58 ff ff ff ff ff ff 28 58 ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769099611, msgid: 17, HKRSCHALTPUNKTE: len: 33, nextm: 1, 21 00 91 01 02 43 58 ff ff ff ff ff ff 43 58 ff ff ff ff ff ff 43 58 ff ff ff ff ff ff 43 58 ff ff ff ff ff ff 00 00 00
time: 1769099611, msgid: 16, TIMERCONTROL: len: 11, nextm: 0, 0b 00 96 00 02 fe 00 00 00 00 00 00 00 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769099611, msgid: 15, HKRHOLIDAY: len: 18, nextm: 0, 12 00 93 00 80 01 01 80 80 01 01 80 fd 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769099611, msgid: 14, HKRHOLIDAY: len: 27, nextm: 1, 1b 00 93 01 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00 00
time: 1769099473, msgid: 12, HKRHOLIDAY: len: 28, nextm: 2, 1c 00 93 02 02 00 01 06 80 17 1f 08 80 fd 80 01 01 80 80 01 01 80 ff 80 01 01 80 80 01 01 80 ff 00 00 00 00 00 00 00 00
time: 1769099472, msgid: 11, HKRSCHALTPUNKTE: len: 24, nextm: 0, 18 00 91 00 43 58 ff ff ff ff ff ff 28 58 ff ff ff ff ff ff 28 58 ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769099472, msgid: 10, HKRSCHALTPUNKTE: len: 33, nextm: 1, 21 00 91 01 02 43 58 ff ff ff ff ff ff 43 58 ff ff ff ff ff ff 43 58 ff ff ff ff ff ff 43 58 ff ff ff ff ff ff 00 00 00
RX Lastitems:
time: 1769421659, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 6f dd bc ed 3f 0c 00 92 00 00 2f 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769420819, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 01 00 64 23 dd b5 ec 44 0c 00 92 00 00 2f 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769419859, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 0d dd a7 ea 4f 0c 00 92 00 00 2f 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769419020, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 17 dd 9e e8 55 0c 00 92 00 00 2f 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769418061, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 74 dd 8c e6 63 0c 00 92 00 00 2f 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769417222, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 97 dd 7c e4 6f 0c 00 92 00 00 2e 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769416261, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 01 00 64 0b dd 69 e0 7b 0c 00 92 00 00 2d 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769415421, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 01 00 64 0b dd 3a dd 9f 0c 00 92 00 00 2c 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769414463, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 6e dd 1c da b5 0c 00 92 00 00 2a 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769413622, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 0b dc fe d7 c4 0c 00 92 00 00 29 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769412662, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 01 00 64 0f dc e2 d3 cf 0c 00 92 00 00 28 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769411823, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 02 00 64 0b dc bf ce ea 0c 00 92 00 00 26 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769410865, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 03 00 64 00 db 8d ca 1d 0c 00 92 00 00 24 2a 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769410745, msgid: ------, DATACHECK: len: 5, nextm: 0, 05 00 08 00 00 91 39 d2 d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769410744, msgid: ------, DATACHECK: len: 5, nextm: 0, 05 00 08 00 00 93 49 e9 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
time: 1769410743, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 0d db 8d ca 1d 0c 00 92 00 00 24 20 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769409785, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 98 db 81 c8 25 0c 00 92 00 00 24 20 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769408944, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 00 00 64 0b db 79 c6 2a 0c 00 92 00 00 23 20 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769407985, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 01 00 64 0b db 55 c3 44 0c 00 92 00 00 22 20 20 2a 03 08 0a 00 00 00 00 00 00 00 00
time: 1769407145, msgid: ------, SLEEPTIME: len: 2, nextm: 0, 02 00 04 00 00 0f 0a 00 90 00 00 00 01 00 64 0b db 46 c2 39 0c 00 92 00 00 22 20 20 2a 03 08 0a 00 00 00 00 00 00 00 00
stat_index: 17
i rx_ok rx_fail rx_dup rx_empt tx_ok tx_fail locate abort qfull generic steps motions
0 4 0 3 0 0 0 0 0 0 4380 21 4
1 4 0 4 0 0 0 0 0 0 2090 26 4
2 4 0 4 0 0 0 0 0 0 2540 36 6
3 4 0 4 0 0 0 0 0 0 5410 30 5
4 4 0 1 0 0 0 0 0 0 2120 84 2
5 6 0 1 1 1 0 0 1 0 2500 0 0
6 5 0 4 1 0 0 0 0 0 5100 0 0
7 4 0 4 0 0 0 0 0 0 2420 0 0
8 4 0 3 0 0 0 0 0 0 3100 0 0
9 4 0 4 0 0 0 0 0 0 880 28 3
10 4 0 4 0 0 0 0 0 0 450 26 3
11 4 0 3 0 0 0 0 0 0 1110 50 5
12 4 0 3 0 0 0 0 0 0 760 63 6
13 4 0 4 0 0 0 0 0 0 1850 49 4
14 7 0 8 12 5 0 0 0 0 4870 362 11
15 4 0 2 0 0 0 0 0 0 1470 123 15
16 4 0 3 0 0 0 0 0 0 3010 100 11
17 3 0 2 0 0 0 0 0 0 1590 30 5
18 4 0 3 0 0 0 0 0 0 1570 0 0
19 4 0 2 0 0 0 0 0 0 1940 101 12
20 4 0 0 0 0 0 0 0 0 1330 56 7
21 4 0 3 0 0 0 0 0 0 1820 38 3
22 4 0 3 0 0 0 0 0 0 3350 13 2
23 4 0 4 0 0 0 0 0 0 3440 20 3
ReceiveQueue:
recfirstitem: 0, size: 0
SendQueue sendfirstitem: 0, stubqueueitem: NULL, currentstubqueueitem: 0 stubsendqueuesize: 0ZitatProtokoll: XML-RPC-Direktanbindung an die Homematic-CCU (Port 2010)Als CCU Abstinenzler stellt sich natürlich die Frage, ob sich schon jemand mit einer direkte FHEM Anbindung beschäftigt hat? Gäbe es eine API in FHEM die man nutzen kann? Wie https://wiki.fhem.de/wiki/FHEMWEB#apiWeb_Instanz oder ein anderes Modul was einem HTTP Zugriff (XML, JSON, etc.) ermöglicht? Ich bin da im Wiki nicht so recht fündig geworden... Eventuell auch eleganter mit MQTT?
Zitat von: DS_Starter am 26 Januar 2026, 09:30:10Bei Wärmepumpen gibt es neben dem bedarfsgesteuerten Betrieb noch die Option Pufferspeicher gezielt aufzuheizen oder eben andere Effekte wie die Engergiespeicherfähigkeit des Gebäudes auszunutzen. Dafür benötigt man Steuersignale, die überschüssige PV-Energie oder Niedrigtarifzeiten signaliseren. In https://forum.fhem.de/index.php?topic=137058.msg1353068#msg1353068 habe ich grob dargestellt, wie SolarForecast dies sowohl bei festen als auch bei variablen Energiekosten unterstützen könnte.Zitatweitergelesen und festgestellt, dass (wohl seit der KI-Verbrauchsprognose) "Heatpump" nur noch" noSchedule" erlaubt ist.Nicht "nur noch" sondern "nur" weil es "heatpump" bisher nicht gab und mit der FANN Prognose eingebaut wurde und zwar sofort mit "noSchedule".
Ich gehe aktuell davon aus, dass eine Wärmepumpe nicht durch FHEM/SF aktiv gesteuert wird.
Sollte jedoch die Intension bestehen - was ich mangels eigener Erfahrung nicht ausschließen möchte, obwohl ich es vermutlich nicht tun würde - kann ich "noSchedule"
perspektivisch auch gern wegnehmen.
Allerdings gebe ich zu bedenken, dass eine WP doch ganz anders geplant werden muß als ein normaler Verbraucher den wir im SF Kontext nach PV Optimierungsgesichtspunkten
nutzen. Eine Wp jedoch soll vor allem die geforderte Temp bereitstellen. Wenn sie dann noch PV nutzt ist das sicherlich erstrebenswert, aber wenn nicht dann ist es eben so.ZitatWie ist der weitere Plan?Wie oben geschrieben war eine aktive Planung/Steuerung der WP durch SF nicht im Plan weil sie sich eben nicht nach PV optimieren lässt.
Wird SolarForecast künftig die Laufzeit selbst vorhersagen und dann den optimalen Zeitpunkt auch einplanen können?
Der aktuelle use Case bezieht sich darauf den Energieverbrauch inkl. des WP-Anteils möglichst gut zu prognostizieren.