48_HomeConnect.pm neue Überarbeitung

Begonnen von Adimarantis, 24 Dezember 2024, 00:02:52

Vorheriges Thema - Nächstes Thema

isy

#105
Danke für die Info, das ist alles sehr aufwändig.
Ich habe viele Jahre keine SW mehr entwickelt......

Ich teste weiter.

- "set" hat ein neues Layout
- Es wird nur noch "Power" mit "Standby" angeboten, die vorherigen Settings sind nicht mehr aufzurufen.

Bei den Readings werden diese angeboten.
Setting.ActiveProgram
Setting.AlarmClock 0 seconds
Setting.ChildLock Off
Setting.PowerState Standby
Setting.SelectedProgram

Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Wenn's nur das Programmieren wär - die komplexen Abhängigkeiten machen einen hier wahnsinnig.

V1.8 eingecheckt - war prompt ein Fehler drin der "StartProgram" verhindert hat: Das Ausfiltern von "Common" hatte einen unerwünschten Nebeneffekt auf StartInRelative/FinishInRelative ...
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

#107
Ah OK. Ja ich komme aus der Zeit Assembler (IBM, 6502), Fortran, Pascal, Cobol, ABAP.....lange her.
OK, installiere die neue Version und geb einen Update.


Erster Logeintrag  2 Sekunden nach der letzte HC Meldung
2025.01.09 17:47:11 1: PERL WARNING: Use of uninitialized value $text in concatenation (.) or string at fhem.pl line 1026.
Kann die von deinem Modul kommen?
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Zitat von: isy am 09 Januar 2025, 17:45:23Ah OK. Ja ich komme aus der Zeit Assembler (IBM, 6502), Fortran, Pascal, Cobo, ABAP.....lange her.
6502 - das waren noch Zeiten - bei meinem C64 kannte ich noch jedes Bit mit Vornamen :)
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

Gerade noch ein Update im vorherigen Post gemacht. Log und List mit dabei
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Zitat von: isy am 09 Januar 2025, 17:45:23Erster Logeintrag  2 Sekunden nach der letzte HC Meldung
2025.01.09 17:47:11 1: PERL WARNING: Use of uninitialized value $text in concatenation (.) or string at fhem.pl line 1026.
Kann die von deinem Modul kommen?
Gut möglich. Setz mal
attr global stacktrace 1Dann spuckt er die call history aus und man weiss wer der Verursacher war - vorallem welche Zeile im Code.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

#111
Das war das alte GoE Modul, welches nicht mehr gepflegt wird. Werde bei Gelegenheit mal PaH's httpmod testen und dann löschen.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

In V1.9 habe ich jetzt nochmal was an der Logik verändert mit der ProgramOptions identifiziert werden.
Mein Ziel wäre, dass dir "FastPreHeat" und "SetpointTemperature" als "set" angeboten wird.
Ob du es dann wirklich setzen kannst/darfst ist dann ein anderes Thema, aber wenn es fehlschlägt sollte es im excludeSettings Attribut landen und zukünftig nicht mehr angeboten werden.
Kannst du das Szenario mal testen/loggen?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

#113
Here awe are:
Ab 22:27 im Log.

Sieht gut aus. "FastPreHeat" und "SetpointTemperature" sind nicht vorhanden.
Aber: Die Set's für Alarm, Childlock und Power sind eingerichtet und funktionieren.

Mni tnx!
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Gerade gesehen. "Option.FastPreHeat" und "SetpointTemperature" werden als "Option" angezeigt, nicht als "Setting".
Hat das was zu sagen?
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

#115
Zitat von: isy am 09 Januar 2025, 23:03:22Sieht gut aus. "FastPreHeat" und "SetpointTemperature" sind nicht vorhanden.
Ich hab da eine Vermutung: Wahrscheinlich löscht "get Settings" die "set" Befehle versehentlich.
Kannst du kurz folgenden Test machen:
- Programm am Gerät wählen
- get ProgramOptions
- Dann ein "list" und schauen ob die set Befehle da sind
- ggf. die set Befehle testen

Danke.

Edit: Welchen accessScope verwendest du jetzt? Der scheint ja die Options zumindest wieder zu liefern.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

#116
- Programm am Gerät wählen
- get ProgramOptions
- Dann ein "list" und schauen ob die set Befehle da sind
- ggf. die set Befehle testen

--> Alle set vorhanden und funktionieren. "list" direkt nach get programoptions
--> Nach get settings sind "FastPreHeat" und "SetpointTemperature"  wieder weg

accessScope
IdentifyAppliance Monitor Settings Control Oven Dishwasher Washer Dryer WasherDryer Refrigerator Freezer FridgeFreezer-Control FridgeFreezer-Monitor FridgeFreezer-Settings WineCooler CoffeeMaker Hob Hood CleaningRobot CookProcessor

--> Alles an

VG Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Prima.
Übrigens holt GetSettings bei dir nur ChildLock, AlarmClock und PowerState.
Wenn du die anderen Sachen aktualisieren willst, mach lieber GetStatus - was implizit auch ein GetProgramOptions macht.

In V1.10 sollte das GetSettings jetzt aber keinen Schaden mehr anrichten.

SetpointTemperature: Da kommt vom Gerät auch schön die Rückmeldung das es gesetzt wurde.
FastPreHeat: Hast du am Gerät gesehen, das das angegangen ist? Da kriege ich zwar keine Fehler aber auch keine Rückmeldung. Hier evtl. ein GetStatus und sehen ob das Reading auf dem gesetzen Wert bleibt.

Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

Die Settings für  "FastPreHeat" und "SetpointTemperature" tauchen erst nach dem Einschalten des Backofens auf.
Vorher bleiben die reduzierten Sets.

FastPreHeat wird nicht an den Ofen übertragen, bzw. ich habe noch keinen Weg gefunden, das zu prüfen.
Eventuell wird der Wert erst gesetzt, wenn das Programm läuft, aber dann ist es ja zu spät.
Im Status FHEM bleib der Wert auf On.

Nach FastPreHeat auf off verschwinden beide Settings wieder.

Stimmt noch was nicht.
Der Ofen steht auf "Pause", Status FHEM ist "Heißluft (Pause)". Korrekt
Programm ist noch aktiv, aber FHEM sagt bei get ProgrammOptions "There is no program selected"

11:27 Ofen Start (am Gerät)
Settings  "FastPreHeat" und "SetpointTemperature" wieder da.

11:29 Ofen auf Pause. Settings bleiben komplett
11:30 Ofen aus. Settings bleiben komplett auch mit get Status oder get ProgramOptions

11:32 Ofen an, Schnellheizen aktiv am Ofen
11:32 Option.FastPreHeat ist On
11:33 Manuell auf Off gesetzt, am Ofen auch Off.

Bleibt die Frage, wann man in Fhem die Option.FastPreHeat auf On setzten kann, damit das ankommt.
--> Geklärt: Wenn das Programm am Ofen läuft.

Bis auf das anfängliche Verhalten bei den Settings sieht das jetzt top aus.




Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

#119
Nach FHEM Neustart steht im Status "Ready"
Nach Page Reload "Autostart (-)"
Die erweiterten Settings hängen vom Programm ab. Bei "Sanft Heißluft" wird Option.FastPreHeat nicht geladen z.B.

Ein "Save Config" in FHEM getestet
Nach FHEM Neustart steht im Status "Autostart (-)"
"FastPreHeat" und "SetpointTemperature" wieder weg. Haben wir gelernt, hängt am laufenden, nicht am gewähltem Programm im Ofen.

Neues Log anbei.
Ein Weg wird erst zu einem Weg, wenn man ihn geht