Hauptmenü

Neueste Beiträge

#1
English Corner / Aw: Incorrect link in local co...
Letzter Beitrag von Beta-User - 24 Januar 2026, 17:44:28
Zitat von: rudolfkoenig am 24 Januar 2026, 12:11:18Opinions anyone?
Completely agree with you: better avoid huge (and in most cases unnecessary) data transmissions.

At least some of the 23 modules are actively maintained, so it could be worth to contact the respective maintainers.
#2
Multimedia / Aw: Modul für Denon (Marantz) ...
Letzter Beitrag von olwaldi - 24 Januar 2026, 17:41:51
Hab' mal wieder was geändert ...

  • Ich habe im on/off gestern einen Bug eingebaut, wodurch das Ausschalten nicht mehr funktioniert hat. Gefixt.
  • Ich habe das Power-Management jetzt wieder zurückgebaut, wie es sich @vneise gewünscht hat und es ursprünglich auch war. Grund: Der Receiver hat tatsächlich zwei verschiedene(!) Kommandos zum ein/ausschalten: PWON/OFF und ZMON/OFF. Im ersten Fall werden alle Zonen geschaltet, im zweiten nur die mainZone. Und genau so hat es der Modul-Autor (richtigerweise) auch implementiert. Somit funktioniert das EinAusschalten jetzt wie folgt:
    set Denon on|off|toggle   -> alle Zonen werden gemeinsam geschaltet
    set Denon zoneMain on|off -> nur main-Zone wird geschaltet
    Um Zugriff auf die anderen Zonen zu bekommen, muß man ein entsprechendes DENON_AVR_ZONE Device anlegen.
  • Ich habe die Funktionen DENON_AVR_Connectioncheck, _Ready, _Connect und _OnConnect "unkommentiert" von @vbs übernommen, aber leicht modifiziert. Insbesonder vermute ich, daß @vbs in der _Connect das $reopen an DevIo_Open übergeben wollte. Unklar ist mir, ob man für USBDev "was anderes" zurückgeben sollte.
  • In DENON_AVR_Define habe ich versucht, Rechnernamen beim Aufruf zu unterstützen. Um serielle von IP-Devices unterscheiden zu können, muß für serielle Devices zwingend die Baudrate an den Devicenamen angehängt werden (COM1 wäre ja auch ein gültiger Rechnername).

Ich habe in ein paar subs als Return-Wert undef zurückgegeben, da mir nicht klar ist, welche Instanz den return verarbeiten mag. Freue mich, wenn's jemand besser wüßte.

Bitte testen. Insbesondere würde ich mich freuen, wenn @vbs checkt, ob ich seine Änderungen "richtig" übernommen habe. Zum Testen habe ich bei mir jetzt wieder connectionCheck ohne Probleme eingeschaltet ...

Die Skripte habe ich wie üblich weiter oben aktualisiert.


Grüßle, Michael
#3
Solaranlagen / Aw: Anbindung Solakon One mit ...
Letzter Beitrag von rippi46 - 24 Januar 2026, 17:39:07
Hallo Jan habe das ganze noch etwas erweitert:

defmod SolakonOne ModbusAttr 1 30 192.168.x.x:502 TCP
attr SolakonOne dev-h combine=60, defPoll=1
attr SolakonOne dev-i combine=60, defPoll=1
attr SolakonOne enableControlSet 1
attr SolakonOne event-min-interval .*:600
attr SolakonOne event-on-change-reading .*
attr SolakonOne icon solar
attr SolakonOne maxTimeoutsToReconnect 3
attr SolakonOne obj-h30000 model_name, len=16, poll=10, unpack=(a16)
attr SolakonOne obj-h30016 serial_number, len=16, unpack=(a16)
attr SolakonOne obj-h30032 mfg_id, len=16, unpack=(a16)
attr SolakonOne obj-h36001 scan-h36001
attr SolakonOne obj-h36001-unpack H*
attr SolakonOne obj-h36002 scan-h36002
attr SolakonOne obj-h36002-unpack H*
attr SolakonOne obj-h36003 scan-h36003,
attr SolakonOne obj-h36003-unpack H*
attr SolakonOne obj-h36100 shelly_sn, len=16, unpack=(a16)
attr SolakonOne obj-h36132 shelly_type, len=16, unpack=(a16)
attr SolakonOne obj-h36148 shelly_version, unpack=s>
attr SolakonOne obj-h37611 bms1_ambient_temp, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h37612 bms1_soc, expr=$val / 1, type=signed short big
attr SolakonOne obj-h37617 bms1_max_temp, expr=$val / 10, revRegs=1, type=unsigned short big
attr SolakonOne obj-h37618 bms1_min_temp, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h37624 bms1_soh, expr=$val / 1, type=signed short big
attr SolakonOne obj-h37635 bms1_design_energy, expr=$val / .1, type=signed short big
attr SolakonOne obj-h38814 shelly_combined_power, expr=$val / 10, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39000 protocol_version, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39053 rated_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39055 max_actice_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39063 status_1, unpack=H*
attr SolakonOne obj-h39063-map 0001:Standby, 0004:Operation, 0040:Fault
attr SolakonOne obj-h39065 status_3, unpack=H*
attr SolakonOne obj-h39065-map 0000:not-off-grid, 0001:off-grid
attr SolakonOne obj-h39067 alarm_1, unpack=H*
attr SolakonOne obj-h39067-map 0000:ok, 0001:input-string-voltage-is-high, 0002:DC-arc-fault, 0004:String-reverse-connection, 0080:Grid-power-outage, 0100:Abnormal-power-grid-voltage, 0800:Abnormal-power-grid-frequency, 4000:Output-overcurrent, 8000:The-DC-component-of-the-output-current-is-too-large
attr SolakonOne obj-h39068 alarm_2, unpack=H*
attr SolakonOne obj-h39068-map 0000:ok, 0001:Abnormal-residual-current, 0002:System-grounding-abnormality, 0004:Low-insulation-resistance, 0008:Temperature-is-too-high, 0200:Energy-storage-equipment-abnormality, 0400:isolated-island, 4000:Off-grid-output-overload
attr SolakonOne obj-h39069 alarm_3, unpack=H*
attr SolakonOne obj-h39069-map 0000:ok, 0008:External-fan-abnormality, 0010:Energy-storage-reverse-connection, 0200:Meter-Lost, 0400:BMS-Lost
attr SolakonOne obj-h39070 pv1_voltage, expr=$val / 10, unpack=s>
attr SolakonOne obj-h39071 pv1_current, expr=$val / 100, unpack=s>
attr SolakonOne obj-h39072 pv2_voltage, expr=$val / 10, unpack=s>
attr SolakonOne obj-h39073 pv2_current, expr=$val / 100, unpack=s>
attr SolakonOne obj-h39074 pv3_voltage, expr=$val / 10, unpack=s>
attr SolakonOne obj-h39075 pv3_current, expr=$val / 100, unpack=s>
attr SolakonOne obj-h39076 pv4_voltage, expr=$val / 10, unpack=s>
attr SolakonOne obj-h39077 pv4_current, expr=$val / 100, unpack=s>
attr SolakonOne obj-h39118 total_pv_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39123 grid_r_voltage, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39124 grid_s_voltage, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39125 grid_t_voltage, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39126 inverter_r_current, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39128 inverter_s_current, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39130 inverter_t_current, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39134 active_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39136 ractive_power, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39138 power_factor, expr=$val / 1000, revRegs=1, type=signed short big
attr SolakonOne obj-h39139 grid_frequency, expr=$val / 100, revRegs=1, type=signed short big
attr SolakonOne obj-h39141 internal_temp, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39149 cumulative_generation, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39151 daily_generation, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39201 eps_voltage, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39204 eps_current, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39216 eps_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39227 battery_voltage, expr=$val / 10, revRegs=1, type=signed short big
attr SolakonOne obj-h39228 battery_current, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39230 battery_power, expr=$val, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39237 battery_combined_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39272 inverter_r_frequency, expr=$val / 100, revRegs=1, type=signed short big
attr SolakonOne obj-h39273 inverter_s_frequency, expr=$val / 100, revRegs=1, type=signed short big
attr SolakonOne obj-h39274 inverter_t_frequency, expr=$val / 100, revRegs=1, type=signed short big
attr SolakonOne obj-h39279 pv1_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39281 pv2_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39283 pv3_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39285 pv4_power, expr=$val / 1, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39424 battery_soc, expr=$val, unpack=s>
attr SolakonOne obj-h39601 total_pv_energy, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39603 total_pv_energy_today, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39605 battery_total_charge_energy, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39609 battery_total_discharge_energy, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39615 total_feeder_power_today, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39617 total_power_taken, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39619 total_electricity_consumption_today, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39621 total_output_power, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39623 total_power_output_today, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39625 Enter_total_power, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39627 Enter_total_power_today, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39629 Total_load_power, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h39631 Total_load_power_today, expr=$val / 100, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h46001 scan-h46001, unpack=B*
attr SolakonOne obj-h46002 scan-h46002, unpack=B*
attr SolakonOne obj-h46003 remote_active_power, len=2, revRegs=1, unpack=B*
attr SolakonOne obj-h46005 scan-h46005, unpack=B*
attr SolakonOne obj-h46607 battery_max_charge_current, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h46608 battery_max_discharge_current, expr=$val / 1000, len=2, revRegs=1, unpack=s>s>
attr SolakonOne obj-h49079 grid_standard_code, unpack=s>
attr SolakonOne room Balkonkraftwerk,Haus_Oberweier
attr SolakonOne silentReconnect 1
attr SolakonOne sortUpdate 1
attr SolakonOne stateFormat Aktuelle Leistung: total_pv_power W;; Tagesertrag: daily_generation kWh;; Monatsertrag: output_month kWh;; Jahresertrag output_year kWh;;Batterie: battery_soc % Gesamt: Gesamtertrag kWh
attr SolakonOne userReadings output_month:total_pv_energy_today.* monotonic {ReadingsNum($name,"total_pv_energy_today",0,2)-10}, output_year:total_pv_energy_today.* monotonic {ReadingsNum($name,"total_pv_energy_today",0,2)-10},\
Gesamtertrag:total_output_power.* monotonic {ReadingsNum($name,"total_output_power",0,2)+1190+165.8}

defmod SolakonOne_output_month_reset at *00:00:01 {if ( $mday == 1 ) { fhem("deletereading SolakonOne output_month") } }

defmod SolakonOne_output_year_reset at *00:00:01 {if ( $yday == 1 ) { fhem("deletereading SolakonOne output_year") } }
das sind die meisten Werte die man vom SolakonOne bekommt.

PS: Steuern hbe ich noch nicht versucht!!!

Gruß rippi
#4
MQTT / Aw: [gelöst] ZigBee2MQTT und 5...
Letzter Beitrag von Beta-User - 24 Januar 2026, 17:34:46
So.

Testsystem mit z2m läuft, manche Effekte muss man "live" sehen, und da gab es einige :o .

Die gute Nachricht: der defmod scheint zu funktionieren. Die schlechte: er reißt "devicetopic" mit sich, so dass danach anscheinend "$DEVICETOPIC" in setList nicht mehr aufgelöst wird...

Fix ist eingecheckt, zu viel mehr in Sachen z2m hat es heute nicht gereicht :( .
#5
FHEM Code changes / Revision 30777: mqtt2.template...
Letzter Beitrag von System - 24 Januar 2026, 17:21:03
Revision 30777: mqtt2.template: fix z2m-3ch and others

mqtt2.template: fix z2m-3ch and others

Source: Revision 30777: mqtt2.template: fix z2m-3ch and others
#6
Sonstige Systeme / Aw: fhempy: tuya (lokal)
Letzter Beitrag von Prof. Dr. Peter Henning - 24 Januar 2026, 17:16:35
Danke, hat geholfen. Datenpunkte, IDs und Beschreibungen habe ich jetzt alle.
Wenn ich jetzt das Attribut spec_functions
[{'code': 'deodorization', 'dp_id': 17, 'type': 'Boolean', 'values': {}, 'desc': 'deodorization'}]setze auf
[{'code': 'deodorization', 'dp_id': 17, 'type': 'Boolean', 'values': {}, 'desc': 'deodorization'},{'code': 'clean', 'dp_id': 101, 'type': 'Boolean', 'values': {}, 'desc': 'clean'}] sowie
{'code': 'clean', 'dp_id': 101, 'type': 'Boolean', 'values': {}}in das Attribut spec_status einfüge
und die Seite neu lade, sollte doch eigentlich der set-Befehl "set clean on/off" auftauchen. Da tut sich aber nichts.

Ich kann auch kein Attribut dp_101 auf den Wert "clean" setzen, das verweigert in dem Fall FHEM.

LG

pah
#7
Marktplatz - Güter / [S] Suche 360 Grad WLAN-IR-Gat...
Letzter Beitrag von Wetterhexe - 24 Januar 2026, 17:01:09
Hallo,

ich suche 2-3 Stk. IR Blaster (fertig aufgebaut) aus dem seinerzeitigem Projekt hier im Forum. Gehäuse wäre fein, ist aber kein muß (3D Drucker vorhanden).
Habe bereits zwei davon in Betrieb, leider gehen mir die Ideen nicht aus, also bräuchte ich Nachschub.
Vielleicht hat ja jemand noch Restbestände in der Bastellade, würde mich freuen!

LG, Christina
#8
ESP Familie / Aw: PWM mit ESP8266
Letzter Beitrag von Papa Romeo - 24 Januar 2026, 16:18:50
Zitat von: DerD am 24 Januar 2026, 09:24:30Was ich nicht raus habe, warum denn überhaupt so ein Wemo Konstrukt und nicht einfach ein SSR? Die gibt es mit Nulldurchgangserkennung/Schaltung und erlauben damit auch Wellenpaketsteuerung.
Und dann per on/off aus Tasmota die Heizdauer in Abhängigkeit der Temperatur definieren.

...wobei wir dann auch gleich wieder fast am Anfang sind ... nur eben mit einer etwas moderneren "Bügeleisenautomatik"  ;)
#9
Sonstige Systeme / Aw: fhempy: tuya (lokal)
Letzter Beitrag von Nobbynews - 24 Januar 2026, 15:52:33
Zitat von: Prof. Dr. Peter Henning am 24 Januar 2026, 15:18:34==> Frage 1: Wie kann man herausfinden, welche Datenpunkte vorhanden sind
Vielleicht hilft das hier:
https://www.zigbee2mqtt.io/advanced/support-new-devices/03_find_tuya_data_points.html
#10
Perl für FHEM-User / Aw: Funktion hostname in FHEM?
Letzter Beitrag von betateilchen - 24 Januar 2026, 15:45:04
Zitat von: passibe am 24 Januar 2026, 14:45:05Bei mir gibt das:
/opt/fhem/configDB.pm:196:use Sys::Hostname;
/opt/fhem/FHEM/70_STV.pm:19:use Sys::Hostname;
/opt/fhem/FHEM/Meta.pm:528:  Sys::Hostname
/opt/fhem/FHEM/37_plex.pm:12:use Sys::Hostname;
/opt/fhem/FHEM/37_fakeRoku.pm:8:use Sys::Hostname;
/opt/fhem/FHEM/70_SamsungAV.pm:21:use Sys::Hostname;

zumindest gibt es noch mehr Module, in denen eine Funktion hostname() aufgerufen wird:

/opt/fhem/contrib/DS_Starter/50_SSChatBot.pm:894:          my $host        = hostname();                                                # eigener Host
/opt/fhem/contrib/DS_Starter/93_Log2Syslog.pm:402:  $hash->{MYHOST} = hostname();                            # eigener Host (lt. RFC nur Hostname f. BSD)
/opt/fhem/contrib/ble2mqttd:91:    substr(sprintf("%s-%s", $ME, hostname()), 0, $MQTT_MAX_CLIENTID_LENGTH)
/opt/fhem/FHEM/70_SamsungAV.pm:1232:  my $host = hostname();
/opt/fhem/FHEM/70_SamsungAV.pm:1233:  my $address = inet_ntoa(scalar gethostbyname(hostname() || 'localhost'));
/opt/fhem/FHEM/39_alexa.pm:331:  #$ip = inet_ntoa( scalar gethostbyname( hostname() || 'localhost' ) );
/opt/fhem/FHEM/50_SSChatBot.pm:895:          my $host        = hostname();                                                # eigener Host
/opt/fhem/FHEM/37_fakeRoku.pm:62:  #$ip = inet_ntoa( scalar gethostbyname( hostname() || 'localhost' ) );
/opt/fhem/FHEM/37_fakeRoku.pm:96:  $hash->{fhemHostname} = hostname();
/opt/fhem/FHEM/39_gassistant.pm:256:  #$ip = inet_ntoa( scalar gethostbyname( hostname() || 'localhost' ) );
/opt/fhem/FHEM/37_plex.pm:74:  #$ip = inet_ntoa( scalar gethostbyname( hostname() || 'localhost' ) );
/opt/fhem/FHEM/37_plex.pm:131:  $hash->{fhemHostname} = hostname();
/opt/fhem/FHEM/74_Nmap.pm:339:    my $hostname = $_->hostname() ? $_->hostname() : $_->ipv4_addr();
/opt/fhem/FHEM/70_STV.pm:76:  my $host = hostname();
/opt/fhem/FHEM/70_STV.pm:77:  my $address = inet_ntoa(scalar gethostbyname(hostname() || 'localhost'));
/opt/fhem/FHEM/93_Log2Syslog.pm:403:  $hash->{MYHOST} = hostname();                                        # eigener Host (lt. RFC nur Hostname f. BSD)
/opt/fhem/FHEM/96_SIP.pm:147:    eval { $addr = inet_ntoa(scalar(gethostbyname(hostname()))); };