76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

DS_Starter

@Bison,

wird das Set-Kommando "on" eigentlich ausgeführt wenn du manuell im HM-Device ausführst?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Bison

Zitat von: DS_Starter am 17 April 2024, 23:12:39Was ich aktuelle sehe ist dass jede 1-2 Sekunden ein Schaltbefehl ausgeführt wird:

2024.04.16 10:38:27 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:27 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:29 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:29 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current Context is >switch off< => swoffcond: 0, off-command: off
2024.04.16 10:38:29 1: SolarForecast DEBUG> consumer "01" - current planning state: starting
2024.04.16 10:38:30 1: SolarForecast DEBUG> ############### consumerSwitching consumer "01" ###############
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - general switching parameters => auto mode: 1, current Consumption: -100 W, nompower: 250, surplus: 331 W, planstate: switching on:, starttime: 16.04.2024 10:15:42
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - isInLocktime: 0
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - current Context is >switch on< => swoncond: 1, on-command: on
2024.04.16 10:38:30 1: SolarForecast DEBUG> consumer "01" - device >STD_AKT_1_Sw< is used as switching device
2024.04.16 10:38:30 2: SolarForecast - switching Consumer 'Entfeuchter' to 'on' (Automatic = 1)

Erkannt wird der Status nicht.
Wie steht dein Attribut ctrlInterval?


Hallo Heiko,

das Attribut ctrlInterval ist nicht gesetzt.

Gruß
Raspberry, Homematic, CUL, 50 Device, 260 Entities

Bison

Zitat von: DS_Starter am 17 April 2024, 23:44:03@Bison,

wird das Set-Kommando "on" eigentlich ausgeführt wenn du manuell im HM-Device ausführst?

Ja es wird sogar ein und ausgeschaltet.

Der Consumer ist so definiert.

STD_AKT_1_Pwr type=heater power=250 switchdev=STD_AKT_1_Sw mode=can icon=Ventilator_wind on=on off=off swstate=state:.*on:*:.*off.* asynchron=1 notbefore=10 notafter=18 locktime=900:900 auto=1 pcurr=power:W:250 etotal=energy:Wh interruptable=1
Raspberry, Homematic, CUL, 50 Device, 260 Entities

TheTrumpeter

Zitat von: kask am 17 April 2024, 18:38:27Edit: Also mit den Shellys geht das auch Problemlos. Diese sind über MQTT angebunden. Keine Ahnung ob dadurch Unterschiede gibt.
Fakt ist das Tasmota und Shellys über MQTT ausschalten bei on-for-timer. Auch bei nicht mehr laufender Automation.
Der Auszug von oben ist aus der CommandRef zu den "set extensions". Da steht auch dabei, dass im Zweifelsfall die Modul-eigene Implementierung "gewinnt". Offensichtlich unterstützen die Shellys und Tasmota eine Art "Timer/Countdown" am Gerät selbst, d.h. beim Absetzen von "on-for-timer" wird dem Gerät direkt mitgegeben wie lange das Gerät eingeschaltet sein soll. (Ähnlich wie der "countdown" bei Tuya, aber möglicherweise sogar in einem einzigen Befehl?)
MQTT hat damit nix zu tun, das müsste egal sein wie Du mit den Dingern kommunizierst.
Meine Bewässerung wird von einem ESP32 mit ESPEasy angesteuert, da setze ich in FHEM auch die Befehle ab, die die Timer direkt am Gerät laufen lassen. (Zusätzlich habe ich dort noch eine interne und zwei externe Überwachungen eingebaut, die dafür sorgen, dass die Ventile bei einem Gerätereboot oder allerspätestens bei Sonnenaufgang geschlossen werden. Wird paar Minuten nach Sonnenaufgang immer noch Wasser verbraucht, dann wird die gesamte Steuerung über eine schaltbare Steckdose vom Netz genommen. Spätestens dann muss Ruhe sein.)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Prof. Dr. Peter Henning

Zitat von: TheTrumpeter am 18 April 2024, 06:54:28Offensichtlich unterstützen die Shellys und Tasmota eine Art "Timer/Countdown" am Gerät selbst, d.h. beim Absetzen von "on-for-timer" wird dem Gerät direkt mitgegeben wie lange das Gerät eingeschaltet sein soll. (Ähnlich wie der "countdown" bei Tuya, aber möglicherweise sogar in einem einzigen Befehl?)
Als "Erfinder" des Shelly-Moduls kann ich die Spekulation durch Klarheit ersetzen: Ja, Viele (nicht alle) Shelly-Devices erlauben das Setzen interner Timer mit einem einzigen REST-Call. Allerdings bitte nicht mit Tuya in einen Topf werfen.

LG

pah

DS_Starter

Moin,

@Bison,

Hier stimmt etwas nicht:

     swstate=state:.*on:*:.*off.*

So wäre es richtig:

     swstate=state:.*on.*:.*off.*


Da du asynchron=1 gesetzt hast (was allerdings bei den Homematic Devices nicht nötig ist weil sie direkt schalten), wird bei einem Event von STD_AKT_1_Sw die Logik im SF angesprochen. Daher wahrscheinloch die hohe Frequenz der Logmeldungen. Das kannst du mit ctrlDebug=notifyHandling überprüfen.

Die grundlegende Sache ist allerdings das falsche Setting im Key swstate.

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Reinschki

#501
Guten Morgen,
die zweite Nacht in Folge wird der Docker Container Fhem "unhealthy" und nichts geht mehr.
Einer der letzten Log-Einträge ist:
Illegal division by zero at ./FHEM/76_SolarForecast.pm line 10220.
Ich bin auf Version: 76_SolarForecast.pm:v1.17.9-s28804/2024-04-17

Ich habe vor, dass Device zu deinstallieren um die Gegenprobe zu machen und zu schauen, ob der Container durchläuft.

Schade  :(

DS_Starter

Morgen Reinschki,

nicht gleich die Flinte ins Korn werfen.  ;)
Da war die vorletzte Änderung bzgl. Abweichungsberechnung nicht so optimal. Das korrigiere ich heute noch.

Als schnellen Workaround stellst du das Attr ctrlGenPVdeviation auf daily.

LG
 
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

@Reinschki,
ich habe das Problem gefixt und eingecheckt.
In meinem contrib liegt die gleiche Version zum sofortigen Dornload wenn du si schon einspielen magst.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Reinschki

Hallo Heiko,
die 1.17.10 ist installiert -> ich werde berichten.

An dieser Stelle herzlichen Dank für das Modul und deine engagierte Supportleistung!

Viele Grüße
Reiner