Zitat von: passibe am 04 November 2025, 00:08:53Kenne mich mit Kubernetes überhaupt nicht aus, deshalb sorry, wenn das, was jetzt folgt, dumme Ideen sind, aber:
Wie spielen der im Dockerfile in Zeile 255 definierte HEALTHCHECK und die livenessProbe aus deinem manifest zusammen?Zitat von: P.A.Trick am 03 November 2025, 18:56:48livenessProbe:Vielleicht "maskiert" diese livenessProbe den HEALTHCHECK, sodass dieser gar nicht ausgeführt wird und dann natürlich auch keine results-Datei angelegt wird?
httpGet:
path: /fhem/healthcheck
port: 8083
initialDelaySeconds: 60
periodSeconds: 20
timeoutSeconds: 5
failureThreshold: 3
Anders gefragt: Läuft bei dir im Image überhaupt health-check.sh? Meine Vermutung ist, nein.
Nochmal anders gefragt: Kannst du die livenessProbe irgendwie anpassen, dass da nicht mit httpGet gearbeitet wird, sondern ein Skript innerhalb des Containers (ist Container bei Kubernetes überhaupt der richtige Begriff?) ausgeführt wird?
Also, dass die livenessProbe einfach selbst alle paar Sekunden /health-check.sh ausführt?
Dabei sehe ich grade aber auch, dass DockerImageInfo ein Attribut "DockerHealthCheck" für alle FHEMWEB-Devices hinzufügt (Zeile 84); vielleicht reicht es also auch, wenn du bei allen FHEMWEB-Devices DockerHealthCheck auf 0 setzt. Angenommen du hast nur ein FHEMWEB-Device hilft vielleicht schon ein:attr WEB DockerHealthCheck 0
containers:
- name: fhem
image: ghcr.io/fhem/fhem-docker:5.2.2-bookworm
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "echo 'ok' > /tmp/health-check.result"]
define HA1_MQTT2 MQTT2_CLIENT 192.168.178.22:1883
attr HA1_MQTT2 clientId fhem
attr HA1_MQTT2 keepaliveTimeout 60
attr HA1_MQTT2 msgAfterConnect -r fhem/connection/status connected
attr HA1_MQTT2 msgBeforeDisconnect -r fhem/connection/status disconnected
attr HA1_MQTT2 qosMaxQueueLength 100
attr HA1_MQTT2 room MQTT
attr HA1_MQTT2 username mqttuser
# BUF
# Clients :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
# ClientsKeepOrder 1
# DEF 192.168.178.22:1883
# DeviceName 192.168.178.22:1883
# FD 4
# FUUID xxx
# NAME HA1_MQTT2
# NR 376
# PARTIAL
# STATE opened
# TYPE MQTT2_CLIENT
# WBCallback
# clientId fhem
# eventCount 14
# lastMsgTime 1762462003.58532
# nextOpenDelay 10
# nrConnects 13
# qosCnt 99427
# qosMaxQueueLength 100
# MatchList:
# 1:MQTT2_DEVICE ^.
# 2:MQTT_GENERIC_BRIDGE ^.
# READINGS:
# 2025-11-02 12:22:47 lastPublish fhem/Mythz/p01RoomSetTempDay:21
# 2025-11-05 08:35:58 state opened
# qosQueue:
#
setstate HA1_MQTT2 opened
setstate HA1_MQTT2 2025-11-02 12:22:47 lastPublish fhem/Mythz/p01RoomSetTempDay:21
setstate HA1_MQTT2 2025-11-05 08:35:58 state opened
define mqttGeneric MQTT_GENERIC_BRIDGE mqtt room=HomeAssistant
attr mqttGeneric IODev HA1_MQTT2
attr mqttGeneric globalDefaults sub:qos=2 pub:qos=0 retain=1 base={"fhem/$device"}
attr mqttGeneric globalPublish *:topic={"fhem/$device/$reading"}
attr mqttGeneric icon mqtt_bridge_2
attr mqttGeneric room MQTT
attr mqttGeneric verbose 0
# DEF mqtt room=HomeAssistant
# FUUID xxx
# IODev HA1_MQTT2
# NAME mqttGeneric
# NR 382
# NTFY_ORDER 70-mqttGeneric
# STATE in: 0 out: 11 devices: 1
# TYPE MQTT_GENERIC_BRIDGE
# devspec room=HomeAssistant
# eventCount 99494
# prefix mqtt
# READINGS:
# 2025-11-01 17:47:43 IODev HA1_MQTT2
# 2023-11-29 09:17:04 attrTemplateVersion 20211208_MQTT
# 2025-11-01 17:47:43 device-count 0
# 2025-11-01 17:47:42 incoming-count 0
# 2025-11-06 21:48:06 outgoing-count 99490
# 2025-11-06 21:48:06 transmission-state outgoing publish sent
# 2025-11-01 17:47:42 updated-reading-count 0
# 2025-11-01 17:47:42 updated-set-count 0
# devices:
# :global:
# :alias:
# :defaults:
# pub:base {"fhem/$device"}
# pub:qos 0
# pub:retain 1
# sub:base {"fhem/$device"}
# sub:qos 2
# sub:retain 1
# :publish:
# *:
# mode R
# topic {"fhem/$device/$reading"}
# globalDeviceExcludes:
# globalReadingExcludes:
# globalTypeExcludes:
# pub:
# FHEMWEB *
# Global *
# MQTT transmission-state
# MQTT_BRIDGE transmission-state
# MQTT_DEVICE transmission-state
# MQTT_GENERIC_BRIDGE *
# telnet *
# sub:
# FHEMWEB *
# Global *
# MQTT transmission-state
# MQTT_BRIDGE transmission-state
# MQTT_DEVICE transmission-state
# MQTT_GENERIC_BRIDGE *
# telnet *
#
setstate mqttGeneric in: 0 out: 11 devices: 1
setstate mqttGeneric 2025-11-01 17:47:43 IODev HA1_MQTT2
setstate mqttGeneric 2023-11-29 09:17:04 attrTemplateVersion 20211208_MQTT
setstate mqttGeneric 2025-11-01 17:47:43 device-count 0
setstate mqttGeneric 2025-11-01 17:47:42 incoming-count 0
setstate mqttGeneric 2025-11-06 21:48:06 outgoing-count 99490
setstate mqttGeneric 2025-11-06 21:48:06 transmission-state outgoing publish sent
setstate mqttGeneric 2025-11-01 17:47:42 updated-reading-count 0
setstate mqttGeneric 2025-11-01 17:47:42 updated-set-count 0
Zitat von: mediastudio am 06 November 2025, 21:23:29Funktioniert die App mit flex.js überhaupt nicht oder nur bestimmte Ansichten, ich werde morgen mal
deine Fehlermeldung prüfen, andernfalls müsste ich mir ein FHEM mit flex Style aufsetzen.
if (typeof data.Results[0] !== "object") return;
gatherInformations: function() {
flex.fhemPath = $('head').attr('root');
flex.webName = $("body").attr("data-webName");
flex.fwcsrf = $('body').attr('fwcsrf');
flex.room = flex.helper.urlParam("room") || $('#content').attr('room');
flex.device = flex.helper.urlParam("detail");
flex.cmd('jsonlist2 '+flex.webName,function(data){
if (typeof data.Results[0] !== "object") return;
if (data.Results[0].Attributes.hiddengroup)
flex.hiddenGroups = data.Results[0].Attributes.hiddengroup.split(',');
else flex.hiddenGroups = [];})
},
defmod widgetDummyFhemSVG dummy
attr widgetDummyFhemSVG readingList measured-temp humidity desired-temp status btn1Icon btn2Icon btn3Icon btn4Icon btn5Icon btn6Icon btn1Cmd btn2Cmd btn3Cmd btn4Cmd btn5Cmd btn6Cmd
attr widgetDummyFhemSVG room Test
attr widgetDummyFhemSVG setList measured-temp humidity desired-temp status btn1Icon btn2Icon btn3Icon btn4Icon btn5Icon btn6Icon btn1Cmd btn2Cmd btn3Cmd btn4Cmd btn5Cmd btn6Cmd
attr widgetDummyFhemSVG subType Thermostat
attr widgetDummyFhemSVG webCmd climacontrol
attr widgetDummyFhemSVG widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,state,sani_heating_manual:fhem@manual,rc_MINUS:fhem@temp-5,sani_heating_boost:fhem@boost,sani_heating_automatic:fhem@automatic,rc_PLUS:fhem@temp+5,sani_heating_mode:fhem@night_day
setstate widgetDummyFhemSVG night_day
setstate widgetDummyFhemSVG 2025-11-06 20:43:22 desired-temp 15
setstate widgetDummyFhemSVG 2025-11-03 21:05:23 humidity 54
setstate widgetDummyFhemSVG 2025-11-06 11:51:34 measured-temp 15
setstate widgetDummyFhemSVG 2025-11-06 20:43:13 state night_day
setstate widgetDummyFhemSVG 2025-11-03 21:05:27 status heating
defmod widgetDummyDataUrlSVG dummy
attr widgetDummyDataUrlSVG readingList on off measured-temp humidity desired-temp status btn1Icon btn2Icon btn3Icon btn4Icon btn5Icon btn6Icon btn1Cmd btn2Cmd btn3Cmd btn4Cmd btn5Cmd btn6Cmd
attr widgetDummyDataUrlSVG room Test
attr widgetDummyDataUrlSVG setList on off measured-temp humidity desired-temp status btn1Icon btn2Icon btn3Icon btn4Icon btn5Icon btn6Icon btn1Cmd btn2Cmd btn3Cmd btn4Cmd btn5Cmd btn6Cmd
attr widgetDummyDataUrlSVG subType Thermostat
attr widgetDummyDataUrlSVG webCmd climacontrol
attr widgetDummyDataUrlSVG widgetOverride climacontrol:controlminidash,measured-temp,humidity,desired-temp,status
setstate widgetDummyDataUrlSVG 21.5
setstate widgetDummyDataUrlSVG 2025-11-06 20:28:15 btn1Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20.79%2C13.95L18.46%2C14.57L16.46%2C13.44V10.56L18.46%2C9.43L20.79%2C10.05L21.31%2C8.12L19.54%2C7.65L20%2C5.88L18.07%2C5.36L17.45%2C7.69L15.45%2C8.82L13%2C7.38V5.12L14.71%2C3.41L13.29%2C2L12%2C3.29L10.71%2C2L9.29%2C3.41L11%2C5.12V7.38L8.5%2C8.82L6.5%2C7.69L5.92%2C5.36L4%2C5.88L4.47%2C7.65L2.7%2C8.12L3.22%2C10.05L5.55%2C9.43L7.55%2C10.56V13.45L5.55%2C14.58L3.22%2C13.96L2.7%2C15.89L4.47%2C16.36L4%2C18.12L5.93%2C18.64L6.55%2C16.31L8.55%2C15.18L11%2C16.62V18.88L9.29%2C20.59L10.71%2C22L12%2C20.71L13.29%2C22L14.7%2C20.59L13%2C18.88V16.62L15.5%2C15.17L17.5%2C16.3L18.12%2C18.63L20%2C18.12L19.53%2C16.35L21.3%2C15.88L20.79%2C13.95M9.5%2C10.56L12%2C9.11L14.5%2C10.56V13.44L12%2C14.89L9.5%2C13.44V10.56Z%22%20%2F%3E%3C%2Fsvg%3E
setstate widgetDummyDataUrlSVG 2025-11-06 20:30:51 btn2Cmd { fhem("set widgetDummyDataUrlSVG desired-temp ".(ReadingsVal("widgetDummyDataUrlSVG","desired-temp",0)+0.5)) }
setstate widgetDummyDataUrlSVG 2025-11-05 21:16:23 btn2Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%2C19V5H5V19H19M19%2C3A2%2C2%200%200%2C1%2021%2C5V19A2%2C2%200%200%2C1%2019%2C21H5A2%2C2%200%200%2C1%203%2C19V5C3%2C3.89%203.9%2C3%205%2C3H19M17%2C11V13H7V11H17Z%22%20%2F%3E%3C%2Fsvg%3E
setstate widgetDummyDataUrlSVG 2025-11-06 20:25:41 btn3Cmd set widgetDummyDataUrlSVG off
setstate widgetDummyDataUrlSVG 2025-11-06 20:27:05 btn3Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C20A8%2C8%200%200%2C1%204%2C12A8%2C8%200%200%2C1%2012%2C4A8%2C8%200%200%2C1%2020%2C12A8%2C8%200%200%2C1%2012%2C20M12%2C2A10%2C10%200%200%2C0%202%2C12A10%2C10%200%200%2C0%2012%2C22A10%2C10%200%200%2C0%2022%2C12A10%2C10%200%200%2C0%2012%2C2Z%22%20%2F%3E%3C%2Fsvg%3E
setstate widgetDummyDataUrlSVG 2025-11-06 20:27:32 btn4Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8.5%204.5L5.4%209.5L8.5%2014.7L5.2%2020.5L3.4%2019.6L6.1%2014.7L3%209.5L6.7%203.6L8.5%204.5M14.7%204.4L11.6%209.5L14.7%2014.5L11.4%2020.3L9.6%2019.4L12.3%2014.5L9.2%209.5L12.9%203.5L14.7%204.4M21%204.4L17.9%209.5L21%2014.5L17.7%2020.3L15.9%2019.4L18.6%2014.5L15.5%209.5L19.2%203.5L21%204.4%22%20%2F%3E%3C%2Fsvg%3E
setstate widgetDummyDataUrlSVG 2025-11-06 12:27:15 btn5Cmd { fhem("set widgetDummyDataUrlSVG desired-temp ".(ReadingsVal("widgetDummyDataUrlSVG","desired-temp",0)+0.5)) }
setstate widgetDummyDataUrlSVG 2025-11-05 21:16:01 btn5Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%2C19V5H5V19H19M19%2C3A2%2C2%200%200%2C1%2021%2C5V19A2%2C2%200%200%2C1%2019%2C21H5A2%2C2%200%200%2C1%203%2C19V5C3%2C3.89%203.9%2C3%205%2C3H19M11%2C7H13V11H17V13H13V17H11V13H7V11H11V7Z%22%20%2F%3E%3C%2Fsvg%3E
setstate widgetDummyDataUrlSVG 2025-11-06 20:25:31 btn6Cmd set widgetDummyDataUrlSVG on
setstate widgetDummyDataUrlSVG 2025-11-06 20:26:48 btn6Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C20A8%2C8%200%200%2C1%204%2C12A8%2C8%200%200%2C1%2012%2C4A8%2C8%200%200%2C1%2020%2C12A8%2C8%200%200%2C1%2012%2C20M12%2C2A10%2C10%200%200%2C0%202%2C12A10%2C10%200%200%2C0%2012%2C22A10%2C10%200%200%2C0%2022%2C12A10%2C10%200%200%2C0%2012%2C2M12%2C7A5%2C5%200%200%2C0%207%2C12A5%2C5%200%200%2C0%2012%2C17A5%2C5%200%200%2C0%2017%2C12A5%2C5%200%200%2C0%2012%2C7Z%22%20%2F%3E%3C%2Fsvg%3E
setstate widgetDummyDataUrlSVG 2025-11-06 20:30:54 desired-temp 25
setstate widgetDummyDataUrlSVG 2025-10-31 18:47:19 humidity 53
setstate widgetDummyDataUrlSVG 2025-11-06 19:07:00 measured-temp 12
setstate widgetDummyDataUrlSVG 2025-11-06 20:29:01 off
setstate widgetDummyDataUrlSVG 2025-11-06 20:28:57 on
setstate widgetDummyDataUrlSVG 2025-11-02 19:10:30 state 21.5
setstate widgetDummyDataUrlSVG 2025-11-05 20:18:40 status Heating