Hauptmenü

Neueste Beiträge

#1
Unterstützende Dienste / Aw: wol modul verständnisfrage...
Letzter Beitrag von the ratman - 22 März 2026, 15:51:11
oh mann. du hast vollkommen recht.

dank dir, für den hinweis!
#2
Wunschliste / Aw: Dokumentation zu CUL FW un...
Letzter Beitrag von Otto123 - 22 März 2026, 15:50:32
Zitat von: martinp876 am 22 März 2026, 10:54:34Also CUL gekauft, V5 bekommen.
Ich weiß, dass ist nicht die Frage gewesen, aber: ich hätte mir HM-MOD-RPI-PCB und einen USB serial Adapter gekauft (oder direkt am GPIO gesteckt) solange es die Module noch gibt. Da kann man die aktuelle Homematic Firmware in FHEM flashen und die Dinger laufen für CUL_HM mW wesentlich besser als ein CUL.
#3
Unterstützende Dienste / Aw: wol modul verständnisfrage...
Letzter Beitrag von tomcat.x - 22 März 2026, 15:47:07
Ich nutze das Modul nicht. Laut Commandref hast Du aber UDP als "mode" definiert. Müsste das nicht CMD sein?

Viele Grüße
Thomas
#4
Multimedia / Aw: Sonos2mqtt currentTrack_.*...
Letzter Beitrag von Otto123 - 22 März 2026, 15:36:20
Hi,

ich denke, dass Sonos die Information schlicht und ergreifend nicht liefert. Damit auch das sonos2mqtt Programm nicht. Im Sonosplayer verschwindet ja der Slave Player und es gibt nur noch eine Anzeige des Raumes.

Einen Konfigurationsfehler hast Du nicht und es mit dem Workaround gelöst. ;)

Gruß Otto
#5
Unterstützende Dienste / [erledigt] wol modul verständn...
Letzter Beitrag von the ratman - 22 März 2026, 15:16:38
grüß euch!

ich habe ein kleines problem mit wol.
da meine tv's noch kein wol können, verwende ich das wol-modul zum anzeigen des zustands des tv's und schalte mit den "zusatzbefehlen" des wol-moduls.

ein tv als def zum veranschaulichen:
defmod wol_schlazibotter WOL 00:00:00:00:00:00 192.168.178.28 UDP
attr wol_schlazibotter devStateIcon on:it_television@green:off off:it_television@grey:on .*:it_television@orange:refresh
attr wol_schlazibotter interval 10
attr wol_schlazibotter room infrarot
attr wol_schlazibotter shutdownCmd set schlazibotter_ir PowerOff
attr wol_schlazibotter useUdpBroadcast 192.168.178.255
attr wol_schlazibotter webCmd refresh
attr wol_schlazibotter wolCmd set schlazibotter_ir PowerOn

die anzeige von on/off funtioniert wunderbar
das ausschalten des geräts ebenso

beim einschalten passiert allerdings leider nichts.
"set schlazibotter_ir PowerOn" in der cmd-zeile funktioniert allerdings.

was mache ich falsch?
#6
Anfängerfragen / Aw: Zugriff mit tailscale
Letzter Beitrag von Bracew - 22 März 2026, 15:13:12
Zitat von: satprofi am 22 März 2026, 14:02:48...denn dann müsste ja 100.* ja reichen.
Keine Ahnung, was "...müsste...", ich weiß nur, was bei mir funktioniert und das sind die Tailscale-IPv4 einzeln ausgeschrieben.

Zitat von: Bracew am 21 März 2026, 13:38:08Vielleicht ersteinmal ohne 100.* eingeben, sondern mit konkreter Tailscale Adresse versuchen. Kannst es, falls es dann funktioniert, wieder mit 100.* einstellen und testen.


#7
FHEMWEB / Aw: [Voicecontrol] Button für ...
Letzter Beitrag von Beta-User - 22 März 2026, 14:51:16
Zitat von: Beta-User am 22 März 2026, 11:36:36Mal sehen, ob ich nachher noch Lust habe, f18.js entsprechend anzupassen.
Hatte ich...

Anmerkungen:
"Vorne" in der "$(document).ready(function(){" ist die host-Aktualisierung drin:
  if (typeof fully !== 'undefined')
    FW_cmd(FW_root + "?cmd=set TYPE=FULLY:FILTER=deviceid=" + fully.getDeviceId() + " host " + fully.getHostname() + "&XHR=1");
In der f18_stt() ist auch der Code-Schnippsel aus
Zitat von: schwatter am 19 März 2026, 20:23:06function
f18_stt()
{
...}
etwas angepaßt drin. Bei mir ist das aber funktionslos, es kommt der "normale" Dialog wie unter Chrome auch. Daher ist dort (in der close:function) nochmal ein fully-spezifischer set-Befehl drin.
    close:function(){
      if(doSend && txt){
        if (typeof fully !== 'undefined')
          FW_cmd(FW_root + "?cmd=set TYPE=FULLY:FILTER=deviceid=" + fully.getDeviceId() + " gotSTT " + $("body").attr("fw_id") + " "  + encodeURIComponent(txt) + "&XHR=1");
        FW_cmd(FW_root+"?cmd=setreading "+$("body").attr("data-webName")+
               " STT "+encodeURIComponent(txt)+"&XHR=1");
      }
   
      stt.stop();
      $(div).remove();
    }

Damit ist der Weg nach FHEM rein zu FULLY erst mal funktional (aber noch nicht "schön"), um den Anschlusspfad, erst mal in Richtung RHASSPY geht es dann ein andermal.

Tendenziell würde ich dazu neigen, auch die FHEWEB-Events nur an der temporären Instanz dieser konkreten Verbindung zu generieren, oder alternativ die FW_ID-Info zusätzlich vorzuhalten.   
#8
Anfängerfragen / Aw: Zugriff mit tailscale
Letzter Beitrag von satprofi - 22 März 2026, 14:02:48
eben, deshalb die frage. greife ich übers tailscale netz zu, denn dann müsste ja 100.* ja reichen.
#9
MQTT / Aw: mqtt2.template: bugs, Frag...
Letzter Beitrag von drhirn - 22 März 2026, 13:55:25
Ich hätte da ein Split-Template für den Shelly Power Strip 4 Gen4. Ich hab das auf Basis MQTT Control mit generischen Status Updates gemacht, weil ich über RPC nicht alles rausbekommen habe, was ich gerne gehabt hätte. Insbesondere nicht die IP. Und dachte mir, wenn ich eh schon generische Status Updates aktivieren muss, kann ich gleich auf RPC verzichten. Gibt weniger MQTT-Traffic.

Gebe zu, ich hab das von anderen Devices zusammenkopiert. Und es gibt die ein oder andere Code-Zeile, bei der ich nicht genau weiß, was da passiert. Dürfte ich euch daher bitten, mal drüber zu sehen und Fehler oder Verbesserungsvorschläge zu melden?

Besten Dank!

name:shellyPowerStripG4_split_cmd
filter:TYPE=MQTT2_DEVICE
desc:<p>Shelly Power Strip Gen4 using original firmware<br>NOTE: This is the split template. It creates four different devices.</p><p>MQTT settings at the device:<ul><li><i>Enable 'MQTT Control'</i> enabled</li><li><i>Enable RPC over MQTT</i> disabled</li><li><i>RPC status notifications over MQTT</i> disabled</li><li><i>Generic status update over MQTT</i> enabled</ul></p>
par:DEV_TPC;Shelly name in the topic;{ AttrVal('DEVICE','devicetopic',AttrVal('DEVICE','readingList','')) =~ m<(shellies/[^/]+|shelly(plus|pro4pm|1pmmini-)[^/:_]{4,}+)> ? $1 : undef }
order:A_19
par:ICON;ICON as set, defaults to message_socket;{ AttrVal('DEVICE','icon','message_socket') }
deletereading -q DEVICE (?!associatedWith|IODev).*
attr DEVICE devicetopic DEV_TPC
attr DEVICE icon ICON
attr DEVICE devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot': '10px-kreis-gruen'; $onl = FW_makeImage($onl); my $light = FW_makeImage(ReadingsVal($name,'state','off')); my $cons = ReadingsNum($name,'power',0); my $total = round(ReadingsNum($name,'energy_total',0)/1000,2); my $ip = ReadingsVal($name,'wifi_sta_ip','none'); qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a><div>Verbrauch: $cons W / Total: $total kwh</div>)}
attr DEVICE readingList $\DEVICETOPIC/online:.* online\
  $\DEVICETOPIC:.* {}\
  $\DEVICETOPIC/announce:.* { json2nameValue($EVENT, '', $JSONMAP) }\
  $\DEVICETOPIC/command:.* {}\
  $\DEVICETOPIC/command/switch_0:.* {}\
  $\DEVICETOPIC/status:.* {}\
  $\DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, 'mqtt_', $JSONMAP) }\
  $\DEVICETOPIC/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }\
  $\DEVICETOPIC/status/switch_0:.* { $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }\
  $\DEVICETOPIC/status/ble:.* {}\
  $\DEVICETOPIC/status/cloud:.* {}\
  $\DEVICETOPIC/status/knx:.* {}\
  $\DEVICETOPIC/status/powerstrip_ui:.* {}\
  $\DEVICETOPIC/status/wifi:.* { json2nameValue($EVENT, 'wifi_', $JSONMAP) }\
  $\DEVICETOPIC/status/ws:.* {}\
  $\DEVICETOPIC/status/zigbee:.* {}
attr DEVICE setList toggle:noArg $\DEVICETOPIC/command/switch:0 toggle\
  on:noArg $\DEVICETOPIC/command/switch:0 on\
  off:noArg $\DEVICETOPIC/command/switch:0 off\
  on-for-timer $\DEVICETOPIC/command/switch:0 on,$EVTPART1\
  off-for-timer $\DEVICETOPIC/command/switch:0 off,$EVTPART1\
  x_statusUpdate:noArg $\DEVICETOPIC/command status_update\
  x_getDeviceInfo:noArg $\DEVICETOPIC/command announce\
  x_check_update:noArg $\DEVICETOPIC/command ota_update_check\
  x_update:noArg $\DEVICETOPIC/command ota_update_to_stable
attr DEVICE jsonMap output:state aenergy_total:energy_total apower:power freq:frequency
attr DEVICE setStateList on off toggle on-for-timer off-for-timer
attr DEVICE webCmd :
deleteattr DEVICE getList
set DEVICE x_statusUpdate
set DEVICE x_getDeviceInfo
loop:#:1:2:3
copy DEVICE DEVICE_CH#
deleteattr DEVICE_CH# stateFormat
deleteattr DEVICE_CH# devStateIcon
attr DEVICE_CH# devStateIcon {my $light = FW_makeImage(ReadingsVal($name,'state','off')); my $cons = ReadingsNum($name,'power',0); my $total = round(ReadingsNum($name,'energy_total',0)/1000,2); qq(<a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a><div>Verbrauch: $cons W / Total: $total kwh</div>)}
attr DEVICE_CH# readingList\
  $\DEVICETOPIC/status/switch_#:.* { $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }\
  $\DEVICETOPIC/command/switch_#:.* {}
attr DEVICE_CH# setList toggle:noArg $\DEVICETOPIC/command/switch:# toggle\
  on:noArg $\DEVICETOPIC/command/switch:# on\
  off:noArg $\DEVICETOPIC/command/switch:# off\
  on-for-timer $\DEVICETOPIC/command/switch:# on,$EVTPART1\
  off-for-timer $\DEVICETOPIC/command/switch:# off,$EVTPART1
loop:END
rename DEVICE_CH3 DEVICE_CH4
rename DEVICE_CH2 DEVICE_CH3
rename DEVICE_CH1 DEVICE_CH2
loop:#:2:3:4
defmod DEVICE_CH# MQTT2_\DEVICE
attr DEVICE_CH# devicetopic DEV_TPC
loop:END
set DEVICE attrTemplate set_associatedWith \CHANNELS=4
setreading DEVICE,DEVICE_CH2,DEVICE_CH3,DEVICE_CH4 attrTemplateVersion 20230104
attr DEVICE,DEVICE_CH2,DEVICE_CH3,DEVICE_CH4 model powerstripg4
#10
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von tomcat.x - 22 März 2026, 13:48:51
Danke für den Tipp. Da hatte ich aus gleichem Grund auch schon mal mit rumgespielt. Allerdings auch mit reinem Perl-Code, nicht in Verbindung mit einem Reading.
@Peter: Was ich dabei auf jeden Fall gelernt hatte: "false" ist bei Perl gar nicht false, nur 0, '0', "", "()", und "undef".