Hauptmenü

Neueste Beiträge

#1
Server - Linux / Aw: docker image - health chec...
Letzter Beitrag von P.A.Trick - 06 November 2025, 21:55:40
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:
            httpGet:
              path: /fhem/healthcheck
              port: 8083
            initialDelaySeconds: 60
            periodSeconds: 20
            timeoutSeconds: 5
            failureThreshold: 3
Vielleicht "maskiert" diese livenessProbe den HEALTHCHECK, sodass dieser gar nicht ausgeführt wird und dann natürlich auch keine results-Datei angelegt wird?

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

Das Attribut DockerHealthcheck habe ich ausprobiert, allerdings hat es nichts geändert.
Danke für deine Gedanken, aber ich hatte jetzt keine Lust mehr weiter zu probieren und habe es mit
einem Kubernetes post command gefixt.

Nicht schön, aber besser als diese nervigen Meldungen.

 
        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"]
#2
Heizungssteuerung/Raumklima / Aw: THZ Tecalor (LWZ Stiebel E...
Letzter Beitrag von sunrise - 06 November 2025, 21:53:30
Ja, melde Dich bitte gerne wieder. Und erwäge auch, ChatGPT o.ä. zu fragen, wenn du z.B. eine Fehlermeldung bekommst, die Dir auf den ersten Blick unverständlich vorkommt. KI ist immer wieder etwas sonderbar, was Code angeht, hat mir aber auch schon viel geholfen.

Ich nutze auf FHEM-Seite MQTT2_CLIENT:

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

Und MQTT_GENERIC_BRIDGE:
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
#3
Codeschnipsel / Aw: [ControlMiniDash] Thermost...
Letzter Beitrag von Damian - 06 November 2025, 21:49:58
Schön. Sobald ich etwas mehr Zeit habe, werde ich mir deine Lösung genauer anschauen, um ggf. weitere Widgets auf deiner Basis zu erstellen.

Ich könnte mir vorstellen in einer uiTable alle Räume mit Thermostaten abzubilden, allerdings sehe ich das Problem, dass du offenbar immer nur von einem Widget pro Device ausgehst. Wäre es nicht sinnvoller für die Konfiguration statt Readings user-Attribute zu verwenden?
#4
Sprachsteuerung / Aw: NEUE Betreff: Text-to-Spee...
Letzter Beitrag von Gisbert - 06 November 2025, 21:43:35
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.

Die App funktioniert schon, nur dass bei jedem Seitenwechsel die besagte Meldung als Einblendung vorhanden ist, die man dann erst schließen muss (mit einem ok).
#5
Sonstige Systeme / Aw: Neues Modul: 00_ShellSwitc...
Letzter Beitrag von matt_muc - 06 November 2025, 21:27:42
Danke! Ist jetzt alles einheitlich mit piuser, aber bekomme immer noch dieselbe Fehlermeldung.
#6
Sprachsteuerung / Aw: NEUE Betreff: Text-to-Spee...
Letzter Beitrag von mediastudio - 06 November 2025, 21:23:29
Funktioniert 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.
#7
Heizungssteuerung/Raumklima / Aw: THZ Tecalor (LWZ Stiebel E...
Letzter Beitrag von Wurzelsepp - 06 November 2025, 21:21:11
Hallo Sunrise,

ich habe eine Stiebel Eltron LWZ 304 Trend deren Daten über die integrierte USB-Schnittstelle an einen Raspberry gehen. Dort läuft dann FHEM und lässt mich die Wärmepumpe lokal oder von unterwegs über ein VPN einwandfrei auslesen und steuern.

Seit etwa einem halben Jahr hat es mir Home Assistant angetan und vor ein paar Wochen kam dann über diverse Suchen in unterschiedlichen Foren die Idee die Wärmepumpe direkt in HA zu integrieren anstatt FHEM über eine eingebettete Website zu nutzen.

Mein HA läuft in einer VM auf einem UGreen DXP2800 - alles in allem haben wir, denke ich, eine ähnliche Konfiguration.

Mein Vorhaben ist bislang schon an der Übergabe der Daten von FHEM an den mqtt-Server von HA gescheitert.
Eine Verbindung habe ich, aber die gewünschten Daten richtig zu übertragen klappt - meine ich - nicht.

Ich bedanke mich schon einmal vorab recht herzlich für deine Zeilen aus der fhem.cfg und den yaml files aus HA.

Werde mir das die nächsten Tage mal genauer anschauen und mit meinen Codeschnipseln vergleichen. Vielleicht geht ja der Knoten endlich auf.

Schade dass es keine einfache Integration ohne dem sündteuren ISG für unsere Wärmepumpen in HA gibt. Aber das basteln macht ja doch auch Spaß.

Ich melde mich, wenn ich weiter gekommen bin (oder eben auch wenn nicht).

Grüße und Daumen hoch für deine Arbeit bis hier hin.
#8
Sprachsteuerung / Aw: NEUE Betreff: Text-to-Spee...
Letzter Beitrag von schwatter - 06 November 2025, 21:07:41
Nabend,

debug zeigt nichts an. Die Zeile 2346 aus flex.js ist:

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 = [];})
},

Gruß schwatter
#9
Codeschnipsel / Aw: [ControlMiniDash] Thermost...
Letzter Beitrag von schwatter - 06 November 2025, 20:57:52
Du darfst diesen Dateianhang nicht ansehen.

Nabend,

ja, ich stimme zu. Zwei Versionen will ich nicht pflegen. Ich habe jetzt versucht, alles zu verschmelzen.
Hier und da nach ein paar Bugs. Einen Bogenslider hatte ich auch schon drin, aber wir Beiden stehen noch
auf Kriegsfuß. Daher erstmal ein MiniSetFeld, unten in der Mitte.

Hier 2 Beispiele:

User-freundlich:
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

User-feindlich
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
#10
TabletUI / Aw: [GELÖST (fast...)] Balkeng...
Letzter Beitrag von cotecmania - 06 November 2025, 20:56:22
Hallo,

Ich bräuchte auch die Darstellung über mehrere Jahre.
Wird die Änderung von DocCyber eingepflegt ?
Bei händischer Anpassung ist beim nächsten Update ja wieder alles weg ...

Gruss
Joe