Hauptmenü

Neueste Beiträge

#1
Sonstige Systeme / Aw: Bresser Wetterstation 868M...
Letzter Beitrag von laserrichi - 20 Februar 2026, 11:34:05
hatte mit der KI bissl untersucht... die ist zu doof :-)
Noch mal paar werte:
4AA0007063102182F01150701440157038FFFB32FB4CFA023A72F4F
 54AA0007063102182F01150701440157038FFFB32FB4CFA023A72F4F
 54AA0007063102182F011C0501450157038FEEDA4BDBCFA023A72F4F
 54AA0007063102182F011C0501450157038FEEDA4BDBCFA023A72F4F
 54AA0007063102182F012C060121015703900E018002CFA023A72F4F
 54AA0007063102182F012C060121015703900E018002CFA023A72F4F
 54AA00070631021931012D0901A00157039006282529CFA023A72F4F
 54AA00070631021930011D07018001570390154F2850CFA023A72F4F
 54AA0007063102192F013B090184015703901D767A77CFA023A72F4F
 54AA0007063102192F013B090184015703901D767A77CFA023A72F4F
 54AA0007063102172E012F0B01B001570390139DB69ECFA023A72F4F
 
 ohne Sonne Nachts:
 54AA0007063102004501541101410157010101B2E4B3CFA023A72F4F
 54AA0007063102004501541101410157010101B2E4B3CFA023A72F4F
 54AA00070631020145015410013E0157010101D908DACFA023A72F4F
 54AA000706310201460106020148015701010100DE01CFA023A72F4F
 54AA000706310200460112020112015701010127DA28CFA023A72F4F
#2
Multimedia / Aw: Squeezebox Modul - erste V...
Letzter Beitrag von dadoc - 20 Februar 2026, 11:32:30
Moin,
ich war schon lang auf der Suche nach einem physischen Controller für bestimmte Player, mit dem man Basis-Funktionen wie MUTE oder VOLUME schnell und ohne umständlich das Handy zu suchen, die App zu starten usw. nutzen kann.
Zum einen habe ich mir dafür kürzlich den coolen "Roon Knob" geholt, der viel mehr kann. Allerdings hat er eine extrem kurze Batterienutzungsdauer und massive Wifi-Reichweitenprobleme.
Nun habe ich mir eine einfachere und sehr preiswerte Alternative gebastelt, die in fhem nutzbar ist, wenn man bereits zigbee2mqtt integriert hat: Den Bilresa E2490 Remote von Ikea. Das ist eine kleine Fernbedienung mit Scrollrad und zwei Buttons 5,99€), die offiziell Matter, halb inoffiziell (Ikea schweigt dazu weitestgehend) aber auch Zigbee unterstützt.
Wenn man sie mittels zigbee2mqtt und meinem Template in fhem geholt hat, kann man mit einem notify
- die Lautstärke eines oder mehrere Player steuern,
- sie durch Druck auf das Scrollrad muten/unmuten
- durch Doppelklick auf das Scrollrad durch die Favoriten scrollen (der untere Button wird im Zigbee-Modus nicht genutzt).
Das funktioniert prima, Reichweite ist exzellent (wie bei fast allen Zigbee-Geräten) und die beiden AAA-Batterien halten recht lange.
Vielleicht kann es ja jemand brauchen. Namen müssen ggfalls angepasst werden. Das Beispiel geht davon aus, dass die Fernbedienung in fhem Bilresa heisst, das notify di_Bilresa_SB. Zudem muss
attr NOTIFY-NAME userattr players
attr NOTIFY-NAME players PLAYER-NAME1[,PLAYER-NAME2,PLAYER-NAME3...]
gesetzt werden.
Bilresa:action:.* {
  # Liste der Player aus Attribut
  my @targets = split(",", AttrVal("di_Bilresa_SB","players",""));
  return unless @targets;

  my $act      = ReadingsVal("Bilresa","action","");
  my $lvl255   = ReadingsNum("Bilresa","action_level",0);

  # 0–255 → 0–100
  my $lvl = int(($lvl255/255)*100);
  $lvl = 0   if $lvl < 0;
  $lvl = 100 if $lvl > 100;

  # Helper-Hash für intern genutzte Speicherwerte
  my $hash = $defs{"di_Bilresa_SB"};
  $hash->{helper}{lastUsed} //= $targets[0];
  my $last = $hash->{helper}{lastUsed};

###################################
# Double → Favoriten wechseln
###################################
if($act eq "on_double") {

  my $favstr = ReadingsVal($last,"ftuiFavoritesItems","");
  return unless $favstr ne "";

  my @fav = split(":", $favstr);
  return unless @fav;

  my $current = ReadingsVal($last,"favorites","");

  my $idx = 0;
  for(my $i=0; $i<@fav; $i++){
    if($fav[$i] eq $current){
      $idx = $i;
      last;
    }
  }

  $idx = ($idx+1) % scalar(@fav);

  fhem("set $last favorites $fav[$idx]");
  return;
}

  ###################################
  # Scroll → Lautstärke 0–100
  ###################################
  if($act eq "brightness_move_to_level") {
    my $current = ReadingsNum($last,"volume",-1);
    if($current != $lvl) {
      fhem("set $last volume $lvl");
    }
    return;
  }

  ###################################
  # Single → Mute Toggle
  ###################################
  if($act eq "on" || $act eq "off") {
    my $muted = ReadingsVal($last,"mute","off");
    if($muted eq "on") {
      fhem("set $last mute");     # Alternativ: fhem("set $last toggleMute") falls unterstützt
    } else {
      fhem("set $last mute");
    }
    return;
  }
}
Ist noch sehr frisch, möglicherweise buggy und sicher optimierbar. Als NARP (Nicht Annähernd Richtiger Programmierer) habe ich es mit freundlicher Unterstützung durch ChatGPT gebaut...
Ich werde mir in der Nähe von jedem Player so ein Teil bereitlegen - es kommt mit magnetischer Wandhalterung.

#3
MQTT / Aw: mqtt2.template: Contributi...
Letzter Beitrag von dadoc - 20 Februar 2026, 11:08:12
Moin,
mein Basis-Template für den Ikea Bilresa E2490 remote, eine 6-Euro-Fernbedienung mit Scrollrad, die Matter und Zigbee unterstützt.
Ich wollte testen, ob ich damit eine Art Media Controller für meine SB_Player (Lyrion Music Server formerly known as Logitech Media Server) basteln kann. Ich konnte, mehr dazu demnächst an passender Stelle.
###########################################
# IKEA Bilresa E2490 Remote
# contributed by dadoc
###########################################
name:zigbee2mqtt_IKEA_Bilresa_E2490
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
desc:IKEA Bilresa E2490 remote with dial (Matter + Zigbee)
order:L12e
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","readingList","") =~ m,[\b]?([^/:]+)[/].*:, ? $1 : undef }
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to control_home;{ AttrVal("DEVICE","icon","control_home") }
attr DEVICE icon ICON
attr DEVICE stateFormat Click: click Action: action
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }

# Mapped Actions
attr DEVICE jsonMap \
  on:on \
  off:off \
  on_double:on_double \
  brightness_move_to_level:brightness_move_to_level

# State of dial or action
attr DEVICE stateFormat { \
  ReadingsVal($name,"action","-") eq "brightness_move_to_level" \
    ? "scroll ".ReadingsVal($name,"action_level","-") \
    : ReadingsVal($name,"action","-") \
}
attr DEVICE model IKEA_Bilresa_E2490
setreading DEVICE attrTemplateVersion 20260218
#4
Automatisierung / Gelöst: Aw: ASC: readingsProxy...
Letzter Beitrag von piet_pit - 20 Februar 2026, 11:06:42
Hallo Zusammen,
die weiteren Infos sowie die Anbindung von ASC im u.a. Thread...


https://forum.fhem.de/index.php?topic=142739.0

Viele Grüße
Pit
#5
Multimedia / Aw: Modul für Denon (Marantz) ...
Letzter Beitrag von olwaldi - 20 Februar 2026, 11:02:53
Ihr habt's ja sicher "befürchtet": ich habe wieder eine größere Änderung in DENON_AVR umgesetzt, da man mich überzeugen konnte, statt NotifyFn das AttrFn zu benutzen. Dadurch wird der (unnötige) Software-Umweg über das fhem-notify-System vermieden.

U.U. funktioniert dadurch die Media-Steuerung bei älteren Receivern aus der Prä-Heos-Zeit (älter als Denon-AVR-X?300) nicht mehr. Mein Denon hat bereits Heos, so daß ich diese alte Funktionalität nicht testen kann. Aber wenn die nicht funktionieren sollte, war schon in der alten Version von DENON_AVR was ungeschickt gelöst - müßte dann aber jemand anderes als ich fixen. Wir anderen profitieren von der Änderung dadurch, daß alle damit zusammenhängenden Readings nicht mehr existieren - die wurden logischerweise seit Heos nie aktualisiert.

Und ich hatte bzgl. Denon-trigger zuviel "rausgeworfen". Ist jetzt wieder eingebaut.

Bitte testen, Danke Michael
#6
Sonstige Systeme / Aw: Bresser Wetterstation 868M...
Letzter Beitrag von laserrichi - 20 Februar 2026, 10:49:22
habe mal die KI mit ein paar Nachrichten gefüttert, die kam zu folgenden Ergebnis:

...01 0D 02 01 DF 0157...

    UV-Byte (Stelle 21-22): Hier 0D. Das ist der UV-Rohwert. Er bleibt an dieser Stelle, wird aber größer oder kleiner.
    Lux-Exponent (Stelle 23-24): Hier 02. Dieser Wert ändert sich nur, wenn die Helligkeit eine neue Größenordnung erreicht (wie ein Gang beim Auto).
    Lux-Basis (Stelle 27-28): Hier DF. Das ist die Feinjustierung der Helligkeit.
#7
Sonstige Systeme / Aw: Bresser Wetterstation 868M...
Letzter Beitrag von laserrichi - 20 Februar 2026, 10:33:30
Es scheint die Sonne :-)

Hier mal Ergebniss:

UV Index steht hier auf 2:

026.02.20 10:24:25 4: Signalduino868/msg READ: ␂MN;D=54AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F;N=17;R=253;␃
2026.02.20 10:24:25 4: Signalduino868 Parse_MN: Found 2-FSK Protocol id 217 length 56 RSSI = -75.5 -> vevor_7in1
2026.02.20 10:24:25 5: Signalduino868 vevor: xy=E3 E4 sum=ref=A0 len=54 data=AA00070631020E2F011804015B015703269CE3A0E4
2026.02.20 10:24:25 4: Signalduino868 ParseMN: ID=217 dmsg=W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F
2026.02.20 10:24:25 5: Signalduino868 Dispatch: W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F, test ungleich: disabled
2026.02.20 10:24:25 4: Signalduino868 Dispatch: W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F, -75.5 dB, dispatch
2026.02.20 10:24:25 5: Signalduino868: dispatch W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F
2026.02.20 10:24:25 4: Signalduino868: SD_WS_Parse protocol 217, rawData AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F
2026.02.20 10:24:25 4: Signalduino868: SD_WS_Parse decoded protocol-id 217 (Vevor7in1), sensor-id 0706
2026.02.20 10:24:25 4: Signalduino868: using longid for 0 device SD_WS_217_0706_0
2026.02.20 10:24:25 4: Signalduino868/msg READ: ␂MN;D=54AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F;N=17;R=254;␃
2026.02.20 10:24:25 4: Signalduino868 Parse_MN: Found 2-FSK Protocol id 217 length 56 RSSI = -75 -> vevor_7in1
2026.02.20 10:24:25 5: Signalduino868 vevor: xy=E3 E4 sum=ref=A0 len=54 data=AA00070631020E2F011804015B015703269CE3A0E4
2026.02.20 10:24:25 4: Signalduino868 ParseMN: ID=217 dmsg=W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F
2026.02.20 10:24:25 5: Signalduino868 Dispatch: W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F, test gleich
2026.02.20 10:24:25 4: Signalduino868 Dispatch: W217#AA00070631020E2F011804015B015703269CE3A0E4CFA023A72F4F, Dropped (1) due to short time and equal msg

LUX 30927  UV Index 1:
2026.02.20 10:29:45 4: Signalduino868/msg READ: ␂MN;D=54AA0007063102103201140301C001570279D053FB54CFA023A72F4F;N=17;R=253;␃
2026.02.20 10:29:45 4: Signalduino868 Parse_MN: Found 2-FSK Protocol id 217 length 56 RSSI = -75.5 -> vevor_7in1
2026.02.20 10:29:45 5: Signalduino868 vevor: xy=53 54 sum=ref=FB len=54 data=AA0007063102103201140301C001570279D053FB54
2026.02.20 10:29:45 4: Signalduino868 ParseMN: ID=217 dmsg=W217#AA0007063102103201140301C001570279D053FB54CFA023A72F4F
2026.02.20 10:29:45 5: Signalduino868 Dispatch: W217#AA0007063102103201140301C001570279D053FB54CFA023A72F4F, test ungleich: disabled
2026.02.20 10:29:45 4: Signalduino868 Dispatch: W217#AA0007063102103201140301C001570279D053FB54CFA023A72F4F, -75.5 dB, dispatch
2026.02.20 10:29:45 5: Signalduino868: dispatch W217#AA0007063102103201140301C001570279D053FB54CFA023A72F4F
2026.02.20 10:29:45 4: Signalduino868: SD_WS_Parse protocol 217, rawData AA0007063102103201140301C001570279D053FB54CFA023A72F4F
2026.02.20 10:29:45 4: Signalduino868: SD_WS_Parse decoded protocol-id 217 (Vevor7in1), sensor-id 0706
2026.02.20 10:29:45 4: Signalduino868: using longid for 0 device SD_WS_217_0706_0
#8
Bastelecke / Aw: ESP RGBWW Wifi Led Control...
Letzter Beitrag von tomm - 20 Februar 2026, 10:30:22
hallo, ich schäme mich ja richtig, das ich fast 5 jahre hier nicht mehr reingeschaut habe, umso erfreuter bin ich, zu sehen, das die zeit nicht stehengeblieben ist, und ja, meine 10 controller funktionieren noch.
gleich zur ersten frage - ich habe hier fotos von niedlichen kleinen controllerboards gesehen, gerade diese würden super zu einem neuen projekt von mir passen. sind die noch in arbeit? sind die bereits fertig? wo finde ich mehr infos dazu?
die zweite frage - ich habe meine controller seit inbetriebnahme (glaube so 2020) nicht mehr upgedated, wo finde ich infos dazu?
lg tomm
#9
Heizungssteuerung/Raumklima / Aw: THZ Tecalor (LWZ Stiebel E...
Letzter Beitrag von TheTrumpeter - 20 Februar 2026, 10:10:47
Zitat von: LaChris1980 am 18 Februar 2026, 20:23:03Ich hab nun mal nur die Bereiche "OA" und "0B" auslesen lassen.
Dabei sehe ich aber keine Änderungen wenn ich den Wert ändere:

01000B0A1003-0A-BE0A0027028A
01000C0B1003-0B-01000C0B1003-0104370B00271003-decode: UNKNOWN Register REQUEST
Ich weiß nicht was genau Du gemacht hast, aber Du musst den Code schon sinngemäß ändern...

Also je nachdem was Du in Zeile 1924ff als "numbers" aktivierst https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/00_THZ.pm#L1924, musst Du auch in 1938ff das passende "cmd" aktivieren, https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/00_THZ.pm#L1938

Mit 1930 aktiv müsste dann auch 1940 aktiviert und (ganz wichtig!) 1941 deaktiviert werden.

    #my @numbers = (1..65535);
        #my $cmd = "0A" . sprintf("%04X",  $indice);

Dann sollten alle 0A-Register abgefragt werden. ACHTUNG: Das dauert SEHR lange.
Für die 0B-Register musst Du natürlich die Zeile 1940 entsprechend anpassen.
#10
Automatisierung / Gelöst: Aw: ASC in Verbindung ...
Letzter Beitrag von piet_pit - 20 Februar 2026, 09:08:45
Hallo Beta-User, Hallo bmwfan,

ich habe die von Beta-User final vorgeschlagene setFn eingesetzt, klappt einwandfrei. Danke nochmals.

Ich habe jetzt auch ASC zum Laufen gebracht, mit "Sparring" durch chatGPT. Bei mir läuft das jetzt mit folgenden Eingaben, wobei ja erst einmal die readingsproxy für beide Kanäle (0 und 1) sauber laufen müssen.

attr <Proxy> ASC 2
set myASC scanForShutters

Durch das scanForShutters werden die ASC-Attribute im readingsproxy angezeigt.

attr <Proxy> ASC_CommandTemplate set $name state $pos
Ohne das Template fährt ASC zwar laut Debug, aber es wird kein vollständiger set-Befehl erzeugt.

attr <Proxy> event-on-change-reading ASC_.*,state für die Event-Erkennung!

Dann noch:

attr <Proxy> ASC_Open_Pos 100
attr <Proxy> ASC_Closed_Pos 0
attr <Proxy> ASC_Pos_Reading state

So läuft es bei mir aktuell, habe ich lange dran rumgedoktert...
Ich werde die Info dann noch wie von Beta-User angeregt in "getestete Hardware" einstellen.
Vielen Dank nochmals und viele Grüße
Pit