Hauptmenü

Neueste Beiträge

#41
Anfängerfragen / (GELÖST) Alte Logs in einem Ru...
Letzter Beitrag von is2late - 08 Dezember 2025, 17:20:21
Hab schon wieder eine Frage....
Es geht auf das Jahresende zu, Zeit wird es, mal aufzuräumen..

Unter "Everything" finden sich in Fhem bei mir hunderte Logs der Typen FileLog_MQTT2_PRTG_xxxx, FileLog_PRTG_xxxx, Logfile (alexa), alexaFHEMlog ua.
Den Kram würde ich gern loswerden, möglichst, ohne jede Datei einzeln löschen zu müssen.
Habt Ihr dazu einen Tipp?

Vielen Dank,
Ingo
#42
Sonstiges / Aw: Hilfe bei Webseite auslese...
Letzter Beitrag von Marko1976 - 08 Dezember 2025, 17:14:45
Ich habe das Device jetzt soweit das es mir praktisch für alle gewünschten Spalten etwas ausgibt. Darunter auch "Siege", "Siege in Overtime" und "Siege im Shootout", sowie das Gegenstück für die Niederlagen. Ich würde aber gerne Siege und Niederlagen jeweils als Gesamtwert angeben.

Normalerweise würde ich das per UserReading einfach addieren. Da das Device die Werte für jedes Reading automatisch pro Mannschaft durchnummeriert stellt sich mir die Frage muss ich das dann für jede Mennschaft einzeln machen und 28 Einträge (14 Siege / 14 Niederlagen) bei den UserReadings erstellen oder gibt es da auch eine "Abkürzung" für die es automatisiert?

Außerdem habe ich ein kleines Problem mit negativen Zahlen, da sie anders formatiert sind:
positiv:      <td class="team-standings__diff">3</td>
negativ:     <td class="team-standings__diff text-danger">-3</td>

greift bei den positiven Einträgen:
<td class="team-standings__diff"(-?\d+)
Habe es bei den negiven Zahlen folgendermaßen probiert:
<td class="team-standings__diff\s\S\d\D\w*"(-?\d+)
Leider zeigt das \s\S\d\D\w* keine Wirkung.
#43
Anfängerfragen / Aw: Fhem-Log periodisch lösche...
Letzter Beitrag von is2late - 08 Dezember 2025, 17:09:09
Herzlichen Dank!!!
#44
MQTT / Aw: shelly 1pm Gen4 (nicht Plu...
Letzter Beitrag von rudolfkoenig - 08 Dezember 2025, 16:50:24
Kannst Du bitte die Ausgabe des FHEM Befehls
list TYPE=MQTT2_SERVER subscriptions
uns zeigen?
#45
Anfängerfragen / Aw: Fhem-Log periodisch lösche...
Letzter Beitrag von betateilchen - 08 Dezember 2025, 16:36:48
Zitat von: is2late am 08 Dezember 2025, 15:51:10Um das Logfile in dieser Form anlegen zu können,
muss ich das vorhandene erst löschen, richtig?

Musst Du nicht, das übernimmt defmod für Dich.
#46
Sonstiges / Aw: Hilfe bei Webseite auslese...
Letzter Beitrag von Marko1976 - 08 Dezember 2025, 16:15:50
Leider konnte ich keine Seite finden die über mehrere Jahre nichts geändert hat außer eben der der Haie. Hab es ja wie gesagt Jahr für Jahr vergleichen und angepasst und jedes Jahr nach einer geeigneten Seite gesucht.
Bin aber gerade dabei das ganze auszuprobieren - auch mal mit verschiedenen Webseiten um den Umgang mit Chatgpt zu lernen - ist bisher nicht mein Medium gewesen.

Mal sehen wie weit ich komme  :D
#47
Verbrauchsmessung / Aw: Tibber & Tibber Pulse
Letzter Beitrag von ch.eick - 08 Dezember 2025, 16:08:03
Hallo nochmal,
ich teste gerade noch etwas das EVU_Tibber_connect und das EVU_Tibber mit dem 15 Minuten Takt, damit das EVU_Tibber_connect15 als Testversion verschwindet.
Wer also noch die alten Versionen haben möchte müsste sich diese jetzt noch aus dem contrib runterladen.

VG   Christian
#48
FHEMWEB / Aw: Trotz Reverse Proxy: Conne...
Letzter Beitrag von heikoh81 - 08 Dezember 2025, 16:05:47
Hallo zusammen,

erstmal danke für eure sehr ausführlichen Antworten.
Und danke, dass fhem so schlau war, die nicht-lokalen Zugriffsversuche zu verwerfen.

Dass ich überhaupt "global" angefügt hatte, ist ein Fehler meinerseits. Ich habe vor Monaten ein "Backup-System" des VPS auf meinem häuslichen Proxmox gebaut, falls es mal Probleme mit dem VPS gibt. Aus irgendwelchen Gründen ist da ein "global" in die config reingerutscht - was ich auch kommentiert, aber offensichtlich vergessen hatte.
WEB war auch schon mit attr basicAuth gesichert, aber ebenfalls auskommentiert aufgrund der Proxmox-Versuche...

Dass fhem überhaupt auf meinem VPS mitläuft (per fhem-telnet an meine häusliche Hauptinstanz über Wireguard angebunden) hat eine noch längere Geschichte und stammt aus der Zeit, als fhem noch auf einem Raspi1 (!) lief. Der hatte nicht genug Rechenpower for dblog (plus MicroSD-Verschleiss) und IPCam, das mir bei Bewegungsmelder-Auslösung Fotos von Webcams per Mail schickt. Deshalb habe ich das auf den VPS ausgelagert. Geändert habe ich das dann seither nicht mehr...

Kommen wir zum Punkt "Firewall". Ich habe keine Firewall explizit installiert, und mein Hoster netcup bietet keine vorgeschaltete zentral konfigurierbare an.
ip6tables -L -n liefert:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER-USER  0    --  ::/0                 ::/0
DOCKER-FORWARD  0    --  ::/0                 ::/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (0 references)
target     prot opt source               destination

Chain DOCKER-BRIDGE (1 references)
target     prot opt source               destination

Chain DOCKER-CT (1 references)
target     prot opt source               destination

Chain DOCKER-FORWARD (1 references)
target     prot opt source               destination
DOCKER-CT  0    --  ::/0                 ::/0
DOCKER-ISOLATION-STAGE-1  0    --  ::/0                 ::/0
DOCKER-BRIDGE  0    --  ::/0                 ::/0

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination

Chain DOCKER-ISOLATION-STAGE-2 (0 references)
target     prot opt source               destination

Chain DOCKER-USER (1 references)
target     prot opt source               destination

fhem wird nativ ausgeführt, ebenso ein nginx, der eben diese fhem-installation über eine Subdomain von außen erreichbar macht, geschützt durch Reverse Proxy mit basicauth & fail2ban (Port 4443).
Später kam dann NginxProxyManager (NPM) & Authelia hinzu, die aber dockerized laufen. Das ist auch der Grund, warum der native nginx noch läuft: NPM konnte keinen Proxy auf das native fhem machen, zumindest habe ich es nicht hinbekommen. Dieser native nginx macht auch noch einen Reverse Proxy auf PHPMyAdmin & Roundcube, weil die eben historisch ebenfalls noch nativ und nicht dockerized laufen.
Ich habe hier das Problem, dass dockerized NPM zwar meine Dienste im Heimnetz via Wireguard nach außen durchreichen kann (d.h. auf "anderen" Hosts), aber nicht das, was auf "localhost" läuft. Vielleicht hat jemand eine Lösung, dann kann ich den nativen nginx in Rente schicken.

ss -lntu liefert.
Erläuterung:
  • Auf dem VPS läuft ein Mailserver basierend auf iredmail, roundcube ist hinter reverse-Proxy
  • 4443 ist von dem nativ laufenden nginx
  • Wireguard auf 51820, 51821, 51822, 51823, 51824
  • 9091 ist von authelia
  • 52622 ist mein manueller sshd-Port, sshd nimmt Verbindungen per /etc/hosts.allow /etc/hosts.deny nur von innen an.
Netid          State           Recv-Q          Send-Q                    Local Address:Port                      Peer Address:Port          Process
udp            UNCONN          0               0                               0.0.0.0:47890                          0.0.0.0:*
udp            UNCONN          0               0                               0.0.0.0:68                             0.0.0.0:*
udp            UNCONN          0               0                               0.0.0.0:41547                          0.0.0.0:*
udp            UNCONN          0               0                               0.0.0.0:51820                          0.0.0.0:*
udp            UNCONN          0               0                               0.0.0.0:51822                          0.0.0.0:*
udp            UNCONN          0               0                                  [::]:51820                             [::]:*
udp            UNCONN          0               0                                  [::]:51822                             [::]:*
tcp            LISTEN          0               100                           127.0.0.1:7790                           0.0.0.0:*
tcp            LISTEN          0               100                           127.0.0.1:7791                           0.0.0.0:*
tcp            LISTEN          0               5                             127.0.0.1:7778                           0.0.0.0:*
tcp            LISTEN          0               5                             127.0.0.1:7779                           0.0.0.0:*
tcp            LISTEN          0               5                             127.0.0.1:7777                           0.0.0.0:*
tcp            LISTEN          0               100                             0.0.0.0:587                            0.0.0.0:*
tcp            LISTEN          0               1000                          127.0.0.1:24242                          0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:8000                           0.0.0.0:*
tcp            LISTEN          0               4096                            0.0.0.0:9091                           0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:9998                           0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:783                            0.0.0.0:*
tcp            LISTEN          0               500                             0.0.0.0:993                            0.0.0.0:*
tcp            LISTEN          0               100                             0.0.0.0:995                            0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:10026                          0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:10027                          0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:10024                          0.0.0.0:*
tcp            LISTEN          0               100                           127.0.0.1:10025                          0.0.0.0:*
tcp            LISTEN          0               100                           127.0.0.1:10028                          0.0.0.0:*
tcp            LISTEN          0               32                            127.0.0.1:8083                           0.0.0.0:*
tcp            LISTEN          0               100                           127.0.0.1:4190                           0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:8284                           0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:81                             0.0.0.0:*
tcp            LISTEN          0               500                             0.0.0.0:143                            0.0.0.0:*
tcp            LISTEN          0               100                           127.0.0.1:24                             0.0.0.0:*
tcp            LISTEN          0               80                            127.0.0.1:3306                           0.0.0.0:*
tcp            LISTEN          0               100                             0.0.0.0:25                             0.0.0.0:*
tcp            LISTEN          0               4096                          127.0.0.1:9443                           0.0.0.0:*
tcp            LISTEN          0               100                             0.0.0.0:110                            0.0.0.0:*
tcp            LISTEN          0               4096                            0.0.0.0:80                             0.0.0.0:*
tcp            LISTEN          0               4096                            0.0.0.0:443                            0.0.0.0:*
tcp            LISTEN          0               128                             0.0.0.0:52622                          0.0.0.0:*
tcp            LISTEN          0               511                             0.0.0.0:4480                           0.0.0.0:*
tcp            LISTEN          0               511                             0.0.0.0:4443                           0.0.0.0:*
tcp            LISTEN          0               100                                [::]:587                               [::]:*
tcp            LISTEN          0               4096                               [::]:9091                              [::]:*
tcp            LISTEN          0               500                                [::]:993                               [::]:*
tcp            LISTEN          0               100                                [::]:995                               [::]:*
tcp            LISTEN          0               500                                [::]:143                               [::]:*
tcp            LISTEN          0               100                                [::]:25                                [::]:*
tcp            LISTEN          0               100                                [::]:110                               [::]:*
tcp            LISTEN          0               4096                               [::]:80                                [::]:*
tcp            LISTEN          0               4096                              [::1]:783                               [::]:*
tcp            LISTEN          0               4096                               [::]:443                               [::]:*
tcp            LISTEN          0               128                                [::]:52622                             [::]:*


Das native nginx, das fhem nach außen erreichbar macht, habe ich so angepasst, wie von dir vorgeschlagen:
# HTTPS
server {
listen 4443 ssl;
server_name server2.xyz.de;

    root /var/www/xyz.de/html;
    index index.php index.html;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;

#####HEIKO 17.04.2018 Reverse Proxy fuer FHEM auf VServer Anfang#####
    location /fhem {
##HEIKO neu 08.12.2025 gemaess https://forum.fhem.de/index.php?topic=143247
# Ensure Websocket proxying works
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";

# Standard reverse proxy headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

set $upstream 127.0.0.1:8083;
proxy_pass http://$upstream;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
    }
#####HEIKO 17.04.2018 Reverse Proxy fuer FHEM auf VServer Ende#####

########################################################
########################################################

    include /etc/nginx/templates/misc.tmpl;
    include /etc/nginx/templates/ssl.tmpl;
    include /etc/nginx/templates/iredadmin.tmpl;
    include /etc/nginx/templates/roundcube.tmpl;
    include /etc/nginx/templates/sogo.tmpl;
    include /etc/nginx/templates/netdata.tmpl;
    include /etc/nginx/templates/php-catchall.tmpl;

}

Und das hier ist die Konfiguration im NPM - die Subdomain ist fhemvs.xyz.de:
location /authelia {
    internal;
    set $upstream_authelia http://authelia-authelia-1:9091/api/verify;
    proxy_pass_request_body off;
    proxy_pass $upstream_authelia;   
    proxy_set_header Content-Length "";
 
    # Timeout if the real server is dead
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
    client_body_buffer_size 128k;
    proxy_set_header Host $host;
    proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Uri $request_uri;
    proxy_set_header X-Forwarded-Ssl on;
    proxy_redirect  http://  $scheme://;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_cache_bypass $cookie_session;
    proxy_no_cache $cookie_session;
    proxy_buffers 4 32k;
    send_timeout 5m;
    proxy_read_timeout 240;
    proxy_send_timeout 240;
    proxy_connect_timeout 240;
}
 
    location / {
        set $upstream_fhemvs https://server2.xyz.de:4443;
        proxy_pass $upstream_fhemvs;
        auth_request /authelia;
        auth_request_set $target_url $scheme://$http_host$request_uri;
        auth_request_set $user $upstream_http_remote_user;
        auth_request_set $groups $upstream_http_remote_groups;
        proxy_set_header Remote-User $user;
        proxy_set_header Remote-Groups $groups;
proxy_set_header Authorization "Basic GEHEIMgeheimGEHEIM";
        error_page 401 =302 https://auth.xyz.de/?rd=$target_url;
        #####client_body_buffer_size 128k;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
        send_timeout 5m;
        proxy_read_timeout 360;
        proxy_send_timeout 360;
        proxy_connect_timeout 360;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Forwarded-Uri $request_uri;
        proxy_set_header X-Forwarded-Ssl on;
        proxy_redirect  http://  $scheme://;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_cache_bypass $cookie_session;
        proxy_no_cache $cookie_session;
        #####proxy_buffers 64 256k;
        set_real_ip_from 192.168.178.0/16;
        set_real_ip_from 172.0.0.0/8;
        real_ip_header X-Forwarded-For;
        real_ip_recursive on;
proxy_buffering off;
    }

Viele Grüße,
Heiko
#49
MQTT / Aw: shelly 1pm Gen4 (nicht Plu...
Letzter Beitrag von bicmac - 08 Dezember 2025, 15:56:23
zumal es hier in dem Beispiel auch geht und ich dort auch dieses subscriptions nicht sehe.
Das ist ein alter Shelly der ersten Generation.


 
Internals:
   CID        shelly1_259CE8
   DEF        shelly1_259CE8
   FUUID      5f0330ff-f33f-34fb-c793-9219204dc5f43f5d
   IODev      fhemprod.MQTT2Server
   LASTInputDev fhemprod.MQTT2Server
   MSGCNT     12688
   NAME       shelly_eg_kueche_decke
   NR         85
   STATE      on
   TYPE       MQTT2_DEVICE
   eventCount 89
   fhemprod.MQTT2Server_CONN fhemprod.MQTT2Server_192.168.2.74_26004
   fhemprod.MQTT2Server_MSGCNT 12688
   fhemprod.MQTT2Server_TIME 2025-12-08 15:54:07
   READINGS:
     2025-12-06 11:29:30   IODev           fhemprod.MQTT2Server
     2025-12-06 11:29:42   actions_stats_skipped 0
     2020-11-07 20:51:15   attrTemplateVersion 20200831
     2025-12-06 11:29:42   cfg_changed_cnt 0
     2025-12-06 11:29:42   cloud_connected false
     2025-12-06 11:29:42   cloud_enabled   false
     2025-12-06 11:29:42   event           
     2025-12-06 11:29:42   event_cnt       0
     2025-12-06 11:29:42   fs_free         149847
     2025-12-06 11:29:42   fs_size         233681
     2025-12-06 11:29:42   fw_ver          20230503-095514/v1.13.0-g9aed950
     2025-12-06 11:29:42   has_update      true
     2025-12-06 11:29:42   id              shelly-eg-kueche-decke
     2025-12-08 15:54:07   input0          1
     2025-12-06 11:29:42   inputs_1_event 
     2025-12-06 11:29:42   inputs_1_event_cnt 0
     2025-12-06 11:29:42   inputs_1_input  1
     2025-12-06 11:29:42   ip              192.168.2.74
     2025-12-06 11:29:42   mac             CC50E3259CE8
     2025-12-06 11:29:42   meters_1_is_valid true
     2025-12-06 11:29:42   meters_1_power  0.00
     2025-12-06 11:29:42   model           SHSW-1
     2025-12-06 11:29:42   mqtt_connected  true
     2022-01-21 22:17:11   my_floor        eg
     2022-01-21 22:17:11   my_locator      eg_kueche
     2022-01-21 22:17:11   my_room         kueche
     2025-12-06 11:29:42   new_fw          true
     2025-12-06 11:29:42   online          true
     2025-12-06 11:29:42   ram_free        37984
     2025-12-06 11:29:42   ram_total       51688
     2025-12-08 15:54:07   relay0          on
     2025-12-06 11:29:42   relays_1_has_timer false
     2025-12-06 11:29:42   relays_1_ison   false
     2025-12-06 11:29:42   relays_1_source mqtt
     2025-12-06 11:29:42   relays_1_timer_duration 0
     2025-12-06 11:29:42   relays_1_timer_remaining 0
     2025-12-06 11:29:42   relays_1_timer_started 0
     2025-12-06 11:29:42   serial          121
     2025-12-08 15:54:07   state           on
     2025-12-06 11:29:42   time            11:29
     2025-12-06 11:29:42   unixtime        1765016982
     2025-12-06 11:29:42   update_beta_version 20231107-162940/v1.14.1-rc1-g0617c15
     2025-12-06 11:29:42   update_has_update true
     2025-12-06 11:29:42   update_new_version 20230913-112003/v1.14.0-gcb84623
     2025-12-06 11:29:42   update_old_version 20230503-095514/v1.13.0-g9aed950
     2025-12-06 11:29:42   update_status   pending
     2025-12-06 11:29:42   uptime          679619
     2025-12-06 11:29:42   wifi_sta_connected true
     2025-12-06 11:29:42   wifi_sta_ip     192.168.2.74
     2025-12-06 11:29:42   wifi_sta_rssi   -59
     2025-12-06 11:29:42   wifi_sta_ssid   AD.NET IOT
   TIMED_OnOff:
     CMD        on-for-timer
     DURATION   900
     NEXTCMD    off
     START      1765205292.65398
     START_FMT  2025-12-08 15:48:12
     hash:
Attributes:
   DbLogExclude .*
   IODev      fhemprod.MQTT2Server
   alexaName  Deckenlampe Küche
   alexaRoom  Küche
   alias      shelly decke
   devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen"; my $light = ReadingsVal($name,"state","off"); my $show = '<a href="';$show .= $onl eq "gelb" ? "/fhem?cmd.dummy=set $name x_update&XHR=1\">" : "http://".ReadingsVal($name,"ip","none").' "target="_blank">'; $show .= FW_makeImage("10px-kreis-".$onl)."</a>"; "<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a></div>" }
   event-on-change-reading .*
   genericDeviceType light
   group      BELEUCHTUNG,SHELLY
   model      shelly1
   readingList shellies/shelly-eg-kueche-decke/relay/0:.* state
  shellies/shelly-eg-kueche-decke/relay/0:.* relay0
  shellies/shelly-eg-kueche-decke/input/0:.* input0
  shellies/shelly-eg-kueche-decke/online:.* online
  shellies/shelly-eg-kueche-decke/announce:.* { json2nameValue($EVENT) }
  shellies/announce:.* { $EVENT =~ m,..id...shelly-eg-kueche-decke...mac.*, ? json2nameValue($EVENT) : return }
shelly1_259CE8:shellies/shelly-eg-kueche-decke/info:.* { json2nameValue($EVENT) }
shelly1_259CE8:shellies/shelly-eg-kueche-decke/input_event/0:.* { json2nameValue($EVENT) }
   room       HAUS->EG->KUECHE,SYSTEM->DEVICES->MQTT2_DEVICE,SYSTEM->DEVICES->SHELLY,ioBroker
   setList    off:noArg shellies/shelly-eg-kueche-decke/relay/0/command off
  on:noArg shellies/shelly-eg-kueche-decke/relay/0/command on
  x_update:noArg shellies/shelly-eg-kueche-decke/command update_fw
  x_mqttcom shellies/shelly-eg-kueche-decke/command $EVTPART1
   userattr   Flur Flur_map Haus Haus_map room_map structexclude
   verbose    0
   webCmd     :
#50
Anfängerfragen / Aw: Fhem-Log periodisch lösche...
Letzter Beitrag von is2late - 08 Dezember 2025, 15:51:10
Das ist wunderbar deutlich, danke Betateilchen!

Um das Logfile in dieser Form anlegen zu können,
muss ich das vorhandene erst löschen, richtig?
Dieses sieht so aus:
defmod Logfile FileLog ./log/fhem-%Y-%m.log fakelog
LG Ingo