Hauptmenü

Neueste Beiträge

#91
EnOcean / Aw: EnOcean PioTek Multigatewa...
Letzter Beitrag von ch.eick - 22 April 2026, 09:51:30
Zitat von: Guybrush am 22 April 2026, 08:40:00ich hab das Gerät. Einbindung erfolgt so wie du es denkst

defmod EnoceanGateway01 TCM ESP3 <IP>:51000
Die Reichweite ist übrigens exzelent und bei Problemen hilft der Inhaber/Entwickler sogar persönlich  ;)
Okay, danke für die Rückmeldung,
ich hatte auch ein persönliches Gespräch am Sonntag!!! mit Ihm und der Service scheint wirklich super zu sein.
Verwendest Du die POE oder die Netzteil Version?
Welche Antennenlänge?
Bei mir habe ich ich darmals die 33cm Antenne genommen, die jedoch eventuell doch überdimensioniert war.
Die Rollo Aktoren sind 8-13m mit teilweise zwei Wänden dazischen entfernt und im FHEM werden sie mir mit dood oder excellent angezeigt.
#92
Bastelecke / Aw: ESP RGBWW Controller - Fir...
Letzter Beitrag von pjakobs - 22 April 2026, 09:49:25
Zitat von: Mafi am 22 April 2026, 09:36:52Guten Morgen!

Ich nutze das ESPLedController Modul in fhem.
Ich hatte am 19.4. ein Update des Controllers aus fhem heraus angestoßen. Das scheint ja dann nicht geklappt zu haben, wenn die Firmware so alt ist. Jetzt habe ich das ganze nochmal per Webinterface gemacht und bin jetzt auf 715 develop. Bin aber gestern Abend nicht mehr dazu gekommen das zu testen. Werde ich heute tun.

Grüße
Markus

gibt gleich noch ne neue, aber da sind im wesentlichen zwei UI Änderungen drin (besserer OTA Dialog und sauberere Einbindung des Log Viewers)

Der wesentliche Punkt ist: ich glaube, dass die "default fade time" nie im Controller gehandelt wurde, bin mir aber nicht ganz sicher.
Fhem kann ja immer eine transition time mitliefern, ich muss mir das mal ansehen hier.
Auf alle Fälle war das so oder so was, was ich in die Firmware einbauen wollte, denn die Bedienung per App hat so erstmal ja auch keine fade time, das heißt Du tippst auf den HSV selector und die Leuchte springt auf den Wert, ohne fade.

#93
Bastelecke / Aw: ESP RGBWW Controller - Fir...
Letzter Beitrag von Mafi - 22 April 2026, 09:36:52
Guten Morgen!

Ich nutze das ESPLedController Modul in fhem.
Ich hatte am 19.4. ein Update des Controllers aus fhem heraus angestoßen. Das scheint ja dann nicht geklappt zu haben, wenn die Firmware so alt ist. Jetzt habe ich das ganze nochmal per Webinterface gemacht und bin jetzt auf 715 develop. Bin aber gestern Abend nicht mehr dazu gekommen das zu testen. Werde ich heute tun.

Grüße
Markus
#94
Sonstige Systeme / Aw: Support-Thread Modul 36_Sh...
Letzter Beitrag von Prof. Dr. Peter Henning - 22 April 2026, 09:25:51
Das sieht nicht so aus, als ob bombardi die Anweisung verstanden hätte, die Authentifizierung herauszunehmen...

LG

pah
#95
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 22 April 2026, 09:20:15
Moin,

ich stehe vor der grundsätzlichen Frage den Stand des Batteriemanagements mit dem eingecheckten Zusatnd wiederherzustellen da der 100%-Bug ja noch nicht gelöst ist.
Die V 2.6.1 möchte ich dann ersteinmal einchecken und ein Refactoring des Batteriemanagements unter diesem Gesichtspunkt separat und ausschließlich nochmal angehen.
Denn bis auf den 100%-Bug hat es bis jetzt ja einwandfrei funktioniert?
#96
Sonstige Systeme / Aw: Support-Thread Modul 36_Sh...
Letzter Beitrag von bombardi - 22 April 2026, 09:00:41
Zitat von: Starkstrombastler am 20 April 2026, 21:26:20
Zitat von: bombardi am 20 April 2026, 10:42:20ich habe ein Problem festgestellt, das bei mir sporadisch auftritt.
oh je, da brauchen wir eine gute Glaskugel....

Zitat von: bombardi am 20 April 2026, 10:42:20Passiert bei einem shellyplus2pm sogar nur für einen Kanal, der andere funktioniert weiter ohne Probleme
Das passiert dann aber bei einer anderen Abfrage als /rpc/Shelly.GetStatus ?

Wenn es sich tatsächlich um ein Auth-Thema handelt, sollte es verschwinden, wenn du testweise die Authentifizierung vorübergehend herausnimmst.

Mit dem nächsten Update wird das Polling auch nach einem Auth-Error fortgesetzt (das war bisher nur bei Netzwerk-Problemen so gelöst). Damit läuft zumindest dein System weiter.
Hab jetzt die Version 6.05.14 20.04.2026 im Einsatz, mit folgendem Ergebnis:
2026.04.21 15:18:17 2: (Shelly_HttpResponse:err) steinru Error: 'http://admin:xxx@192.168.0.32/rpc/Shelly.GetStatus: wrong authentication :: /rpc/Shelly.GetStatus', state is set to 'Error: something wrong'
2026.04.21 21:15:49 2: (Shelly_HttpResponse:err) steinr Error: 'http://admin:xxx@192.168.0.35/rpc/Shelly.GetStatus: wrong authentication :: /rpc/Shelly.GetStatus', state is set to 'Error: something wrong'
steinru ist diesmal der andere Kanal von meinem Shelly Plus 2PM
steinr ist der Shelly Plus 1PM
und der State bleibt "something wrong"
#97
EnOcean / Aw: EnOcean PioTek Multigatewa...
Letzter Beitrag von Guybrush - 22 April 2026, 08:40:00
ich hab das Gerät. Einbindung erfolgt so wie du es denkst

defmod EnoceanGateway01 TCM ESP3 <IP>:51000
Die Reichweite ist übrigens exzelent und bei Problemen hilft der Inhaber/Entwickler sogar persönlich  ;)
#98
Codeschnipsel / Node-RED & FHEM: Warum „Keep i...
Letzter Beitrag von Susis_Strolch - 22 April 2026, 08:38:52
Ich habe mich in letzter Zeit intensiv mit der Verbindung von Node-RED und FHEM beschäftigt. Ursprünglich hatte ich die dedizierten FHEM-Nodes im Einsatz, aber ehrlich gesagt: Wir sind keine Freunde geworden. Die Dokumentation war für mich lückenhaft, und was schwerer wiegt: Das Schreiben von Readings hat mein FHEM regelmäßig in die Knie gezwungen.

Wenn man bei der Fehlersuche mehr damit beschäftigt ist, die Logik der Nodes zu verstehen, als den eigentlichen Flow zu fixen, läuft etwas falsch.

Die Lösung: Zurück zu den Basics.

Ich habe mir drei Subflows ,,geklöppelt", die rein auf der HTTP-Schnittstelle basieren. Das ist stabil, transparent und vor allem: Es stürzt nichts mehr ab.

Die drei Werkzeuge im Überblick

Ich nutze jetzt drei spezialisierte Subflows für die tägliche Arbeit:

1. Get Reading

Hiermit hole ich mir aktiv Werte aus FHEM ab.

Konfiguration: FHEM-URL (ist im Subflow als Default hinterlegt), Device-Name, das spezifische Reading und der Datentyp (Zahl, String oder Boolean).

Funktionsweise: Der Knoten benötigt einen Trigger (z. B. eine Injection oder einen Impuls aus einem anderen Flow). Am Ausgang wird der Wert sauber in msg.payload ausgegeben.

2. Set Reading

Das Gegenstück, um Werte in FHEM zu schreiben.

Konfiguration: Identisch zum ,,Get"-Knoten, allerdings ohne Datentyp-Wahl.

Funktionsweise: Der Wert, der in FHEM geschrieben werden soll, wird einfach per msg.payload an den Eingang des Knotens gereicht.

3. Execute Command

Für die klassischen Schaltbefehle.

Konfiguration: URL, Device und der Befehl (z. B. on, off, toggle).

Einsatz: Perfekt für die schnelle Steuerung, ohne direkt Readings manipulieren zu müssen.

Warum dieser Weg?

Die Subflows sind im Grunde nur schlanke Kapseln um HTTP-Requests. Das macht sie extrem wartungsfreundlich. Wer schon mal Stunden mit der Fehlersuche in komplexen Drittanbieter-Nodes verbracht hat, wird die Einfachheit der HTTP-Web-Schnittstelle zu schätzen wissen.

JSON-Import

Für alle, die ähnliche Probleme mit den Standard-Nodes haben oder einfach eine schlanke Lösung suchen, ist hier das JSON zum Importieren in Node-RED:

[
    {
        "id": "sf_logic_prep",
        "type": "function",
        "z": "fhem_subflow_id",
        "name": "URL bauen",
        "func": "const baseUrl = env.get(\"FHEM_URL\");\nconst device = env.get(\"FHEM_DEVICE\");\n\nmsg.url = ${baseUrl}/fhem?cmd=jsonList%20${device}&XHR=1;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 210,
        "y": 80,
        "wires": [
            [
                "sf_logic_http"
            ]
        ]
    },
    {
        "id": "sf_logic_http",
        "type": "http request",
        "z": "fhem_subflow_id",
        "name": "",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 370,
        "y": 80,
        "wires": [
            [
                "sf_logic_extract"
            ]
        ]
    },
    {
        "id": "sf_logic_extract",
        "type": "function",
        "z": "fhem_subflow_id",
        "name": "Wert wandeln",
        "func": "const readingName = env.get(\"FHEM_READING\");\nconst targetType = env.get(\"RET_TYPE\");\n\ntry {\n    let rawValue = msg.payload.Results[0].Readings[readingName].Value;\n    \n    if (targetType === \"Zahl\") {\n        msg.payload = parseFloat(rawValue.replace(',', '.'));\n    } else if (targetType === \"Boolean\") {\n        let low = rawValue.toLowerCase();\n        msg.payload = (low === \"true\" || low === \"on\" || low === \"1\" || low === \"yes\");\n    } else {\n        msg.payload = String(rawValue);\n    }\n    \n    return msg;\n} catch (e) {\n    node.error(\"Reading '\" + readingName + \"' nicht gefunden!\");\n    return null;\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 540,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "sf_set_logic_prep",
        "type": "function",
        "z": "fhem_set_subflow_id",
        "name": "URL bauen",
        "func": "const baseUrl = env.get(\"FHEM_URL\");\nconst device = env.get(\"FHEM_DEVICE\");\nconst reading = env.get(\"FHEM_READING\");\nconst val = msg.payload;\n\n// Wert sicherheitshalber URL-kodieren (falls Leerzeichen o.ä. enthalten sind)\nconst encodedVal = encodeURIComponent(val);\n\nmsg.url = ${baseUrl}/fhem?cmd=setreading%20${device}%20${reading}%20${encodedVal}&XHR=1;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 220,
        "y": 80,
        "wires": [
            [
                "sf_set_logic_http"
            ]
        ]
    },
    {
        "id": "sf_set_logic_http",
        "type": "http request",
        "z": "fhem_set_subflow_id",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 410,
        "y": 80,
        "wires": [
            []
        ]
    },
    {
        "id": "sf_cmd_logic_prep",
        "type": "function",
        "z": "fhem_cmd_subflow_id",
        "name": "Befehl bauen",
        "func": "const baseUrl = env.get(\"FHEM_URL\");\nconst device = env.get(\"FHEM_DEVICE\");\nconst command = env.get(\"FHEM_COMMAND\");\nconst val = msg.payload;\n\n// Basis-URL mit set Befehl\nlet fhemCmd = set%20${device}%20${command};\n\n// Wenn ein Wert in msg.payload mitgeliefert wird, hänge ihn an\nif (val !== undefined && val !== null && val !== \"\") {\n    fhemCmd += %20${encodeURIComponent(val)};\n}\n\nmsg.url = ${baseUrl}/fhem?cmd=${fhemCmd}&XHR=1;\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 220,
        "y": 80,
        "wires": [
            [
                "sf_cmd_logic_http"
            ]
        ]
    },
    {
        "id": "sf_cmd_logic_http",
        "type": "http request",
        "z": "fhem_cmd_subflow_id",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 410,
        "y": 80,
        "wires": [
            []
        ]
    }
]

Vielleicht hilft es ja dem einen oder anderen, sein Smart Home Setup etwas stabiler zu gestalten.
#99
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 22 April 2026, 08:18:02
Moin,

hier die Wasserstandsmeldung

Zitat von: DS_Starter am 21 April 2026, 22:45:27Welche Strategie hast du eingestellt?

Die "blaue" (01)
lowSoc=1 upSoC=50 maxSoC=95 loadStrategy=loadRelease
Die "güne" 02
lowSoc=10 upSoC=50 maxSoC=95 loadStrategy=loadRelease

Screenshot 08:15 Uhr





EDT:
Es war "etwas kälter" heute Nacht (so um -1 Grad) ->> da hat sich die WP doch glatt alles aus der Batterie geholt was da war :)
Aber dafür soll es heute 79 kWh den Tag über geben....
#100
ESP Familie / Aw: WLAN-Speaker mit ESP32-A1S...
Letzter Beitrag von Nobbynews - 22 April 2026, 07:52:58
Zitat von: romakrau am 16 April 2026, 09:00:01Ich habe folgende Änderung am Soure-Code vorgenommen (War bei mir notwendig):

Die Anpassung von .pio\libdeps\esp32dev\SimpleFTPServer\FtpServerKey.h sollte vor dem Kompilieren erfolgen.

Wozu war diese Änderung nötig?
Ich habe die Firmware 3.3 von github geflasht und die app.json auf der SD-Karte entsprechend angepasst.
Läuft und ich bin von der Einfachheit begeistert.