Hauptmenü

Neueste Beiträge

#41
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 26 März 2026, 13:29:39
Hallo Peter,

Ahhh, danke. Da hatte ich etwas vergessen zu übernehmen. Korrigiert und ins contrib geladen.

Ansonsten würdest du es mit ctrlDebug=collectData oder collectData_long sehen.

Enthalten ist auch:
In dem Update werden im Anlagencheck nun auch die AI Raw con-Daten auf Plausibilität gecheckt, wobei negative Werte UND die neue obere Grenze gemäß plantControl->conEnergyHourLimit geprüft wird:

2026.03.26 13:24:48.612 1: SolCast6 - WARNING - The stored Energy con=-143 of day/hour 02/16 in pvHistory is faulty. The incorrect value can be deleted with 'set SolCast6 reset consumptionHistory 02 16'.
2026.03.26 13:24:48.623 1: SolCast6 - WARNING - The stored Energy con=-63 of day/hour 03/16 in pvHistory is faulty. The incorrect value can be deleted with 'set SolCast6 reset consumptionHistory 03 16'.
2026.03.26 13:24:48.628 1: SolCast6 - WARNING - The stored Energy con=-337 of day/hour 27/15 in pvHistory is faulty. The incorrect value can be deleted with 'set SolCast6 reset consumptionHistory 27 15'.
2026.03.26 13:24:48.636 1: SolCast6 - WARNING - The stored Energy con=-164 of day/hour 27/16 in pvHistory is faulty. The incorrect value can be deleted with 'set SolCast6 reset consumptionHistory 27 16'.
2026.03.26 13:24:49.006 1: SolCast6 - WARNING - The stored Energy con=-218 of index=2025020414 in aiRawData is faulty. The incorrect value can be deleted with 'set SolCast6 reset aiData delValue=con==-218'.
2026.03.26 13:24:49.009 1: SolCast6 - WARNING - The stored Energy con=-266 of index=2025020415 in aiRawData is faulty. The incorrect value can be deleted with 'set SolCast6 reset aiData delValue=con==-266'.
#42
Bastelecke / Aw: Entwicklung SIGNALduinoAdv...
Letzter Beitrag von Ralf9 - 26 März 2026, 13:27:41
ZitatSMD Ferrit Dämpfungsperle, mögliche Typen sind im Text genannt wie

SUNLOARD GZ1608D601TF
BLM15HG102SN1D
Gibts sowas für fliegende Verdrahtungen auch etwas größer und bedrahtet? Nach was muß ich da suchen?
#43
FHEMWEB / Aw: Neuer Style: f18
Letzter Beitrag von tomcat.x - 26 März 2026, 12:59:49
Hallo zusammen,

ich bin bei der Suche auf diesen Thread gestossen, der letzte Eintrag ist schon ein paar Tage her, vielleicht passt es aber trotzdem besser hier rein als in einen neuen.

Aktuell nutze ich den f18 gar nicht. Ich stolpere aber immer mal wieder über Themen, die nur hier angepasst werden. Zuletzt das Thema WebApp und jetzt "[Voicecontrol] Button für Fhemweb". Bisher nutze ich "dark" und es war mir gar nicht aufgefallen, dass es bei bei f18 auch die Auswahl zwischen light und dark gibt. Der Style dark gefällt mir immer noch besser, aber ich wollte trotzdem mal den f18 ausprobieren. Denn wichtiger ist mir eigentlich die Optik im Floorplan und bei Bedarf dann die zusätzliche Funktionalität, die nur im f18 geht.

Jetzt zu meinem Thema. Ich dachte ja, der Floorplan würde ziemlich gleich aussehen. Nach ein paar Farbanpassungen tut er das auch, fast. Weiter oben gab es aber schon mal das Thema Transparenz. Ich habe ein paar versteckte Weblinks im Floorplan, um auf andere Seiten, Geräte Details oder die fhem Startseite zu kommen. Die stimmen kaum mit vorhandenen Icons überein, überlagern manchmal mehrere oder sind in einen freien Bereich. Versteckt habe ich die mit htmlattr style="color:transparent", als Text wir ein alias mit "XX" oder ähnlich verwendet (mehr Zeichen, wenn der Bereich größer sein soll). Mit dark sehe ich nichts im Floorplan, mit f18 dann "XX". Eventuell gibt es für meinen Anwendungsfall eine andere Lösung, aber generell will man vielleicht mal etwas ein- oder ausblenden, dafür wäre color:transparent auch eine Lösung.

Weiß jemand eine Lösung für mein Problem, damit Objekte wieder transparent gemacht werden können?

Bei Bedarf hier ein Beispiel:
defmod WL_fhem_home weblink link https://fhem.domain.de:8083/fhem?
attr WL_fhem_home alias XX
attr WL_fhem_home fp_F_Dashboard_0 5,5,0,X,
attr WL_fhem_home htmlattr style="color:transparent"
attr WL_fhem_home room T_Types->WebLinks,X_System->Floorplan

Viele Grüße
Thomas
#44
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von peterboeckmann - 26 März 2026, 12:16:22
Hallo Heiko,

Zitat von: DS_Starter am 25 März 2026, 14:47:48Im Grafikkopf werden nun die ungeglätten (rohen) Umgebungswerte (Presence, Wind ...) angezeigt.

Update im contrib.

ich habe heute früh diese Version aus dem Contrib geholt.
Trotzdem wird mir eine andere Windgeschwindigkeit angezeigt als mein device hergibt:
Du darfst diesen Dateianhang nicht ansehen.

Mein attr setupEnvironment:
outsideTemp=HMWetterstation:temperature
presence=JemandZuhause:state:true
windSpeed=WindSpeed_mps:state

get SolarForecast valCurrent ergibt folgendes:
aiConActivate => 1
aiConAlpha => 0.7
aiConBitFailLimit => 0.20
aiConHiddenLayers => 40-20-10
aiConProfile => v1_common_active
aiConShuffleMode => 1
aiLastGetResultTime => 0.00029
aiStorageDuration => 18250
aiTrainStart => 3
aiTreesPV => 30
aicanuse => ok
aitrainstate => ok
aitrawstate => ok
allStringsFullfilled => 1
allstringscount => 2
allstringspeak => 10400
allstringspeakbytemp => 11000
animate => 1
autarkyrate => 100
batRatio01 => 404.04
batcapsum => 7000
batpowerinsum => 1616
batpoweroutsum => 0
batsocslidereg => 66.00 66.00 66.00
batsoctotal => 66.00
batteryPreferredCharge => 5
batwhdeficitsum => 2380
batwhtotal => 4620
beamHeightlevel => 1:250,2:250,3:250
beamWidth => 24
cachefilesloaded => 1
conEnergyHourLimit => 20000
conNNGetResultState => ok
conNNLastGetResultTime => 0.01902
conNNTrainstate => ok
consForecastIdentWeekdays => 1
consForecastInPlanning => 1
consForecastLastDays => 5
consumerCollected => 1
consumerdevs => KlimaanlagePwr Klimaanlage_Sw MQTT2_Luftentfeuchter MQTT2_Spelunkenentfeuchter MQTT2_ShellyGeschirrspueler Trockner_Pwr Trockner Waschmaschine_Pwr Waschmaschine Stromverbrauch_Buero Stromverbrauch_WoZi MQTT2_KlimaODU MQTT2_ShellyPlugKuechenKuehlschrank shelly3em63g3_e4b063e1c96c MQTT2_ShellyPlugKellerKuehlschrank ShellyplugSchuppen MQTT2_PlugKaffeemaschine WallboxLeistungssumme HM_56E0D2_Sw_02
consumerdist => 110
consumption => 4239
ctrunning => 0
cycleInterval => 5
dayAfterTomorrowConfc => 20244
dayAfterTomorrowPVfc => 16885
dummyConsumption => 2074.354
dummyIcon => status_comfort@#ff8c00
dwdRad1hAge => 2026-03-26 11:00:00
dwdRad1hAgeTS => 1774519200
dwdRad1hDev => dwd
dwdWfchAge => 2026-03-26 11:00:00
dwdWfchAgeTS => 1774519200
eFeedInTariff => 8.04
eFeedInTariffCcy => ct
ePurchasePrice => 28.15
ePurchasePriceCcy => ct
feedinPowerLimit => 99999
genPVdeviation => continuously:reverse
genslidereg => 6928 6928 6928
globalMode => mustNot
gridconsumption => 0
gridfeedin => 1073
h2consumerdist => 50
h4fcslidereg => 16278 16278 16278
headerShowEnv => outsideTemp,presence,windSpeed
homenodedyncol => 1
hourStyle => :00
moonPhaseI => 2
nextCycleTime => 1774523667
outsideTemp => 8.3
presence => 1
pvInverterCapSum => 10000
pvNNTrainstate => No FANN blob found for type 'pv'
reductionPlantState => 0
reductionState => SolarForecast:userRdg_Regulated:1
runTimeCentralTask => 0.44084
selfconsumption => 4239
selfconsumptionrate => 61
setupcomplete => 1
showDiff => 1:bottom,2:bottom,3:bottom
showGenerators => 1
showLegend => icon_bottom
showconsumerremaintime => 1
smoother => OTP => Battery_ChargeOptTargetPower_01 => ALPHA => 1
                                                      CHANGED => 0
                                                      DEADBAND => 10
                                                      NEWVAL => 2500
                                                      OBJ => FHEM::SolarForecast::Smoother=HASH(0x5555ce058130)
                                                      OLD => 2500
                                                      SMOOTHED => 2500
strokeconsumerdyncol => 1
strokewidth => 10
sunriseToday => 2026-03-26 06:01:00
sunriseTodayTs => 1774501260
sunriseTomorrowTs => 1774587540
sunsetToday => 2026-03-26 18:36:00
sunsetTodayTs => 1774546560
sunsetTomorrowTs => 1774633020
surplus => 2689
surplusslidereg => 2555 2111 2111 2111 2122 2360 2360 2243 2243 1967 1967 2877 2877 2272 1771 1771 3477 2689 2689 2689
tdConFcTillSunset => 7902
tdConFcUp2Now => 10109
tdPvFcUp2Now => 10128
tmConFcTillSunset => 17691
tmConInHrWithPVGen => 13897
tomorrowconsumption => 18068
windspeed => 33.0

Wie kann ich prüfen, ob SF wirklich das angegebene Device verwendet und nicht den Fallback aus dem Wetter-Device?

Viele Grüße,
Peter
#45
Automatisierung / Aw: Modul 93_DbRep - Reporting...
Letzter Beitrag von cwagner - 26 März 2026, 11:57:59
Bin sehr dankbar für die Möglichkeit, über Db.Rep die Grünland-Temperatur-Summe zu beobachten. Nach dem Wiki-Eintrag lasse ich jede nacht ein DB.Rep-Device die Temperatur-Daten eines Fühlers auswerten und die GTS schreiben. Dabei stört mich, dass von jedem Lauf von Jahresbeginn an jeder Tageswert sich wiederholt. Meine Vorstellung war, dass praktisch jeweils der neu hinzukommende Wertz des nächsten Tages in die DB geschrieben wird. irgendwas mache ich da doch wohl falsch? Ich finde nur nicht was. Mit deldoublets kann ich die zwar löschen, doch schön ist das ja nicht.

Dann kam ich auf die Idee,mit
ALTER TABLE history
ADD PRIMARY KEY (`TIMESTAMP`, `DEVICE`, `READING`) USING BTREE;
einen Key zu erstellen, der das Einfügen exakt gleicher Werte mit demselben Timestamp verhindert. Doch - obwohl ich deldoulets mehrfach über die gesamte Datenbank laufen liess, meckert die MariaDB immer noch, dass ich Doubletten habe, die das anlegen eines unique keys verbieten. Gibt es Situationen, wo DB.Rep Doubletten nicht erkennt/erkennen kann?

Das fragliche GTS-Device:
defmod RP.T.Aussen.GLT DbRep logdb
attr RP.T.Aussen.GLT DbLogInclude reachedGTSthreshold
attr RP.T.Aussen.GLT averageCalcForm avgDailyMeanGWSwithGTS
attr RP.T.Aussen.GLT comment https://www.isip.de/isip/servlet/isip-de/entscheidungshilfen/gruenland\

attr RP.T.Aussen.GLT devStateIcon connected:10px-kreis-gelb .*disconnect:10px-kreis-rot .*done:10px-kreis-gruen
attr RP.T.Aussen.GLT device T_Aussen
attr RP.T.Aussen.GLT event-on-change-reading state
attr RP.T.Aussen.GLT reading temperature
attr RP.T.Aussen.GLT room Wetter
attr RP.T.Aussen.GLT timestamp_begin current_year_begin
attr RP.T.Aussen.GLT userExitFn saveGTS

Die Log-Datenbank sieht so aus:
defmod logdb DbLog ./db_mysql.conf .*:.*
attr logdb DbLogSelectionMode Include
attr logdb DbLogType History
attr logdb asyncMode 1
attr logdb devStateIcon connected:10px-kreis-grün .*disconnect:10px-kreis-rot .*done:10px-kreis-gelb
attr logdb event-on-change-reading state
attr logdb room System
attr logdb suppressUndef 1
attr logdb valueFn {if ($VALUE eq ""){$IGNORE=1;;}}

Danke für Hinweise & Ideen schon mal sehr herzlich im Voraus
Christian
#46
FHEMWEB / Aw: [Voicecontrol] Button für ...
Letzter Beitrag von Gisbert - 26 März 2026, 11:41:52
Zitat von: Beta-User am 26 März 2026, 09:41:49Anders formuliert:
Mit den patch-Teilen 1 und 3 könnte Gisbert nach einem update mit testen. Er würde nur (in FHEM) ein FULLY-Device benötigen und müßte dort im Attribut "STTprocessor" auf sein "zuständiges" RHASSPY-Device verweisen, und dazu noch die STT-Option in f18 aktivieren. Dann sollte es zumindest mit installiertem fully (mit PLUS-Lizenz) funktionieren, von dort aus Sprachbefehle via f18 einzusprechen und die passende Antwort zu erhalten.

Hallo Jörg,

ich bin gerne bereit zu testen, falls euch das in der Entwicklung weiterhilft. Dazu müsste ich aber genau wissen, was ich zu tun habe. Das Ziel kann ich wohl erkennen, aber die einzelnen Schritte dazu verstehe ich noch nicht.
Falls dein Ansinnen nur dazu da ist, mich mit meinem Sonderweg(? - RHASSPY, AMAD, Automagic, Google Speech Service) zu begleiten, dann ist das nicht nötig. Ich warte gerne, bis ein testreifer Zustand erreicht ist, und ich wie oben geschildert einsteigen kann.

Viele Grüße Gisbert
#47
Solaranlagen / Aw: SolarForecast - PV-Vorhers...
Letzter Beitrag von grappa24 - 26 März 2026, 11:32:17
oder meinst du die Konfiguration für den neuen UI-Konfig-Editor?  DAMIT habe ich nun Schwierigkeiten

## PV production forecast
tariff: solar
forecast: # hourly solar production forecast (W)
  source: js
  script: |
    var rates = [];
    var now = new Date();
    for (var i = 0; i < 48; i++) {
      var start = new Date(now.getTime() + i * 3600000);
      rates.push({
        start: start.toISOString(),
        end: new Date(start.getTime() + 3600000).toISOString(),
        value: 2000 // W
      });
    }
    JSON.stringify(rates);

## HTTP example (uncomment to use)

#forecast: # hourly solar production forecast (W)
#  source: http
#  uri: https://example.com/api/solar
#  jq: |
#    map({
#      "start": .start,
#      "end": .end,
#      "value": .power
#    }) | tostring
#48
Sonstige Systeme / Aw: Support-Thread Modul 36_Sh...
Letzter Beitrag von Starkstrombastler - 26 März 2026, 10:50:30
Zitat von: Ovi am 25 März 2026, 23:15:03Für mich sieht es so aus, als würde die konkrete Model-ID `SPSW-201XE15UL` im Shelly-Modul noch nicht korrekt auf Shelly Pro 1 / Gen2 Switch gemappt.
Genau so ist es. Du hast halt den UL-Typ (und nicht die EU-Version).

Wird im Modul ergänzt und steht ab morgen zur Verfügung.

#49
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 26 März 2026, 10:33:15
😁😁😁😁😁👍👍👍👍👍
#50
FHEMWEB / Aw: [Voicecontrol] Button für ...
Letzter Beitrag von Beta-User - 26 März 2026, 09:41:49
Zitat von: rudolfkoenig am 25 März 2026, 20:57:49Da hier sehr viel geschrieben wurde, und ich nicht sicher bin, dass ich alles verstanden habe: kann mir noch jemand zusammenfassen, was in f18 noch eingebaut werden sollte?
Hier mal der Versuch einer Zusammenfassung anhand des angehängten diff:

1.
   f18_setWidePortrait();
+  if (typeof fully !== 'undefined')
+    FW_cmd(FW_root + "?cmd=set TYPE=FULLY:FILTER=deviceid=" + fully.getDeviceId() + " host " + fully.getHostname() + "&XHR=1");
 });
Das ist eine Hilfe für das FULLY-Modul. Das Modul war bisher mit fester IP oder festem hostname einzurichten, was dann nicht klappt, wenn das Android nicht speziell so konfiguriert wird, dass im jeweiligen WLAN immer dieselbe MAC-Adresse bekannt gegeben wird.
Aus meiner Sicht wäre das eine dringende Bitte, es sei denn, wir wollen alle fully-spezifischen Einstellungen in eine eigene .js auslagern. Dann käme das da rein.

2.
-  if(!window.SpeechRecognition)
+  var Recognition = window.SpeechRecognition || window.webkitSpeechRecognition;
+  var isFully = (typeof fully !== 'undefined' && typeof fully.startSpeechRecognition === 'function');
+
+  if (!Recognition && !isFully)
     return FW_okDialog("SpeechRecognition Interface missing");

-  var stt = new SpeechRecognition();
+  if (isFully) {
+    fully.startSpeechRecognition("", false);
+    window.onSpeechRecognitionResult = function(result) {
+      if (result) {
+         FW_cmd(FW_root + "?cmd=set TYPE=FULLY:FILTER=deviceid=" + fully.getDeviceId() + " STTinput " + encodeURIComponent(txt) + " [" + $("body").attr("fw_id") + "]&XHR=1");
+      }
+    };
+    return;
+  }
+
+  var stt = new Recognition();
Das ist der übernommene patch-Vorschlag von schwatter. Der Teil funktioniert bei mir nicht, das könnte eventuell für eine frühere fully-Version hilfreich sein.

Den Teil würde ich im Moment NICHT dringend ins svn übernehmen und erst mal warten, ob das mit (halbwegs) aktuellen Android-Modellen überhaupt auftritt (oder auch mit älteren der nachfolgende Teil ausreicht):

3.
-      if(doSend && txt)
+      if(doSend && txt){
+        if (typeof fully !== 'undefined')
+          FW_cmd(FW_root + "?cmd=set TYPE=FULLY:FILTER=deviceid=" + fully.getDeviceId() + " STTinput " + encodeURIComponent(txt) + " [" + $("body").attr("fw_id") + "]&XHR=1");
         FW_cmd(FW_root+"?cmd=setreading "+$("body").attr("data-webName")+
                " STT "+encodeURIComponent(txt)+"&XHR=1");
+      }
+

Damit bekommt man die für die jetzige svn-Fassung von FULLY erforderlichen Infos im von schatter vorgeschlagenen Format (in eckigen Klammern angehängte FW_ID).

Anders formuliert:
Mit den patch-Teilen 1 und 3 könnte Gisbert nach einem update mit testen. Er würde nur (in FHEM) ein FULLY-Device benötigen und müßte dort im Attribut "STTprocessor" auf sein "zuständiges" RHASSPY-Device verweisen, und dazu noch die STT-Option in f18 aktivieren. Dann sollte es zumindest mit installiertem fully (mit PLUS-Lizenz) funktionieren, von dort aus Sprachbefehle via f18 einzusprechen und die passende Antwort zu erhalten.

Meine (komplettere) Wunschliste würde ich dann später mal posten, und vorher eventuell noch das eine oder andere Testen.