Hauptmenü

Neueste Beiträge

#1
MAX / Aw: MAX und SIGNALduino?
Letzter Beitrag von Ralf9 - 09 November 2024, 00:00:00
Zitat von: Ralf9 am 07 November 2024, 23:48:30Beim ESP 32 funktioniert das Empfangen und Senden, das Autoacknowledge funktioniert noch nicht.
Das Autoacknowledge funktioniert jetzt auch, die Ursache war vermutlich, dass beim ESP32 das übertragen der empfangenen Nachricht per WLAN zu FHEM minimal länger dauert als beim Maple Mini über USB oder LAN.
Ich habe es so gemacht, dass die empfangene Nachricht erst nach dem senden vom Autoacknowledge zu FHEM übertragen wird.
z0B1300026543211F20210000
MN;D=0B1306301F202165432100105283;N=15;r;
Das asso/deasso beim Fensterkontakt funktioniert beim ESP32 nicht, das ist zu zeitkritisch.
#2
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von high8 - 08 November 2024, 23:54:50
Zitat von: Starkstrombastler am 06 November 2024, 15:12:07Eine neue Version, die einen Temperaturwert darstellt, ist eingestellt und ab dem 7.11 regulär verfügbar.

Mehrere Sensoren können mit der nächsten Beta-Version, welche hier veröffentlicht wird, ausgewertet werden.

SUPER! - das mit einem Sensor hat mir schon direkt weiter geholfen  ;D - dann hab' ich noch was Geduld für den zweiten.

Ich bekomme auch noch eine Fehlermeldung im Log: "undefined value for input_2"

Vlt hilft das.
LG
#3
Einplatinencomputer / Aw: Nach raspiBackup werden Ak...
Letzter Beitrag von Otto123 - 08 November 2024, 23:49:08
Zitat von: x-juergen am 08 November 2024, 14:03:30Der Zeiteintrag wurde NICHT aktualisiert.
Was sagt denn nach der dem stop von FHEM?
sudo journalctl -b -u fhem
#4
Homematic / Aw: [HM-Wired & Homebrew Dev] ...
Letzter Beitrag von Treibhaus - 08 November 2024, 22:29:04
Hallo,

die Module kann ich neu flashen. Dazu habe ich von Haus-Bus eine Anleitung (als Video) erhalten.  Erst einmal ein lobenswerter Support!
Die Module neu zu flashen, bin ich aber noch nicht gekommen da diese nicht vor Ort sind. (geht nur mit Windows).

Da es zum Einen zuvor funktioniert hat, ich zudem 2 Systeme (System1 hat Orginal und Haus-Bus Module, System 2 hat nur Haus-Bus Module (das System mit dem Problem) .
Somit wundert es mich, das es bei dem System1 funktioniert System2 sich mit  "no free PeerId found" meldet.

Beide System haben vor kurzem eine neues Raspi & Software bekommen. Das fhem Backup eingespielt - nun sogar System 2 komplett "fhem" neu aufgesetzt.

Der RS-485-Adapter ist bei beiden Systen gleich eingestellt.      LEIDLICH mit dem auf System2  habe ich etwas herumgespielt.

Diese haben beide die gleiche HM485d_CommandLine:
   
/FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device /dev/ttyUSB0 --localPort 2000
Bei System 2 hatte ich mal die --hmwId 00000001    geändert,  sowie mal den  --localPort 2000
Könnte das dazu geführt haben das nun dieses Problem auftritt ?

Andernfalls hat System1  auch Orginale-Module  und nur ein Haus-Bus - Modul. Kann es daran liegen ?

Die Module von System 2 (4 Schaltaktoren (1x12 Relais /3x16 Relais)  habe ich (bin mir nicht ganz sicher) mal RESETET . Kann es daran liegen ?


Da ich bei beiden Systemen diese undefinerten Peerings habe

#   peer_act_0 channel_01 → unknown_00000000_01
#   peer_act_1 channel_01 → unknown_00000000_01
#   peer_act_10 channel_01 → unknown_00000000_01
#   peer_act_11 channel_01 → unknown_00000000_01
#   peer_act_12 channel_01 → unknown_00000000_01
#   peer_act_13 channel_01 → unknown_00000000_01
#   peer_act_14 channel_01 → unknown_00000000_01
#   peer_act_15 channel_01 → unknown_00000000_01
#   peer_act_16 channel_01 → unknown_00000000_01
..............

und, da das "pairen" vorher auf System 2 funktioniert hat - auf System1 immer noch funktioniert - bin ich verwundert, da es nun auf System2 nicht mehr funktioniert.

Ich glaube das es eine andere Lösung gibt als neu Flashen.



Bin um jeden Rat / Idee / Versuch 
Dankbar !

Gruß Jörg



#5
Homematic / Aw: "Schalt-Icon" deaktivieren...
Letzter Beitrag von justcallmeal - 08 November 2024, 21:51:00
Zitat von: TomLee am 08 November 2024, 20:16:58Wie muss man sich das genau vorstellen? Wie ist das set-on-for-timer 0.4 definiert.

mit eventmap:
attr Pumpe_Tank eventMap /on-for-timer 0.4:impuls/

ich habe nochmal ein wenig herumexperimentiert und die Lösung nun selbst gefunden:

attr Pumpe_Tank devStateIcon impuls:impuls

Danke für die Unterstützung!

#6
TabletUI / Aw: FTUI version 3
Letzter Beitrag von grossmaggul - 08 November 2024, 21:49:43
So kann man's natürlich auch machen.;)
#7
Sonstige Systeme / Aw: 76_SMAInverter.pm - Abfrag...
Letzter Beitrag von 300P - 08 November 2024, 21:39:33
Hallo MadMax,

bei mir aktuell ebenso i.O.


Ich sehe folgende Werte bei meinem WR-Flohzirkus:

SB2.0:
background_processing_time           1.2258          2024-11-08 21:07:08
cosphi                                0.000          2024-11-08 16:35:44
device_class           Solar-Wechselrichter          2024-11-08 21:00:30
device_dc_insulation             4294967295          2024-11-08 21:00:30
device_dc_residual_current      2147483.648          2024-11-08 21:00:30
device_firmware                    3.17.5 R          2024-11-08 20:57:04


SB2.5
background_processing_time            0.3729         2024-11-08 21:13:11
device_class            Solar-Wechselrichter         2024-11-08 21:13:11
device_dc_insulation              4294967295         2024-11-08 21:13:11
device_dc_residual_current       2147483.648         2024-11-08 21:13:11
device_firmware                     3.17.5 R         2024-11-08 21:09:37

SB3.0 (beide gleichartig)
background_processing_time            0.8321         2024-11-08 21:16:14
cosphi                                 0.000         2024-11-08 21:16:14
device_class            Solar-Wechselrichter         2024-11-08 21:16:14
device_dc_insulation              4294967295         2024-11-08 21:16:14
device_dc_residual_current       2147483.648         2024-11-08 21:16:14
device_firmware                     4.1.15 R         2024-11-08 21:09:37

SB4.0
background_processing_time            1.0174         2024-11-08 21:19:01
cosphi                                 0.020         2024-11-08 21:19:01
device_class            Solar-Wechselrichter         2024-11-08 21:19:01
device_dc_insulation              4294967295         2024-11-08 21:19:01
device_dc_residual_current       2147483.648         2024-11-08 21:19:01
device_firmware                     4.1.15 R         2024-11-08 21:09:37


SBS2.5 (I)
chargestatus                              78         2024-11-08 21:21:48
device_class         Batterie-Wechselrichter         2024-11-08 21:21:48
device_dc_insulation                 3000000         2024-11-08 21:21:48
device_dc_residual_current             0.006         2024-11-08 21:21:48
device_firmware                    3.17.14 R         2024-11-08 21:09:37

SBS2.5 (II)
chargestatus                              33         2024-11-08 21:24:37
cosphi                                17.780         2024-11-08 21:24:37
device_class         Batterie-Wechselrichter         2024-11-08 21:24:37
device_dc_insulation                 2957897         2024-11-08 21:24:37
device_dc_residual_current             0.006         2024-11-08 21:24:37
device_firmware                    3.17.14 R         2024-11-08 21:22:33


Die BWR- / WR-Werte sind evtl. aber auch noch modellabhängig zu parsen ?!?
=>> diese Werte 429496729 und 2147483.648
Ich schaue bei allen WR morgen (bei etwas Sonne  :o ) aber nochmals nach ob dann evtl. "richtige" Werte kommen.

Gruß
300P

PS:
Helptext vor dem Einchecken ändern...
installerLogin
Einloggen als Installateur, wird benötig um manche Parameter und Momentanwerte zu selsenlesen. (default 0)
#8
Sonstige Systeme / Aw: 76_SMAInverter.pm - Abfrag...
Letzter Beitrag von buennerbernd - 08 November 2024, 20:52:57
Der Login als Installer scheint zu klappen.

Ich wollte gerade schreiben, dass die neuen Werte nicht kommen, dann habe ich aber das detail-level noch auf 2 angehoben und nun sehe ich sie.
Danke.
#9
Solaranlagen / Aw: PowerFlow [animiertes SVG,...
Letzter Beitrag von schwatter - 08 November 2024, 20:47:32
Nabend,

ich habe einen Kompromiss aus beiden zusammengebaut. Falls es doof aussieht, würde ich die animierten Ringe Haus und Batterie
demnächst versuchen, auch auf animierte Kästen umzubauen. Ganz zufrieden bin ich noch nicht.

Update:
- Grid, Solar, Fridge und Washer auf Kasten mit abgerundeten Ecken umgebaut.
- Grid hat dadurch jetzt 3 Werte (grid_v, grid_in_v, grid_out_v)
- Im JS habe ich die 2 neuen Werte grid_in_v und grid_out_v auf eine Nachkommastelle begrenzt.
- Außerdem sind die angezeigten Bezeichnungen ausnahmsweise kWh. Da mein SmartMeterReader die Werte so ausgibt.
Umrechnen möchte ich nicht, da es Platz spart.

Wer das anpassen möchte im JS, hier sind die Stellen:

        const gridReadingIn = parseFloat(parseFloat(doc.querySelector("div[informid='powerGrid-grid_in_v']").textContent).toFixed(1));
        const gridReadingOut = parseFloat(parseFloat(doc.querySelector("div[informid='powerGrid-grid_out_v']").textContent).toFixed(1));


        document.getElementById('gridPowerIn').textContent = gridReadingIn + " kWh";
        document.getElementById('gridPowerOut').textContent = gridReadingOut + " kWh";




1.dummyNew
defmod powerGrid dummyNew
attr powerGrid readingList airdryer_v battery_v battery_p batteryState_v dishwasher_v dryer_v fridge_v grid_v grid_in_v grid_out_v house_v lowcarbon_v solar_v solarToBattery_v washer_v
attr powerGrid room Energy1
attr powerGrid setList airdryer_v:textField battery_v:textField battery_p:textField batteryState_v:select,stop,gridLoad,gridUnload,solarLoad,houseUnload dishwasher_v:textField dryer_v:textField fridge_v:textField grid_v:textField grid_in_v:textField grid_out_v:textField house_v:textField lowcarbon_v:textField solar_v:textField washer_v:textField
attr powerGrid stateFormat <!DOCTYPE html>\
<html>\
<head>\
<title>powerGrid</title>\
<style>\
#wrapper {\
    background: black;;\
}\
svg {\
    width: 100%;;\
    height: auto;;\
}\
</style>\
</head>\
<body>\
\
<div id='wrapper'>\
<svg viewBox='0 0 650 500' xmlns='http://www.w3.org/2000/svg' style='background-color: black;; width: 90%;; height: auto;;'>\
 \
 <!-- Titel -->\
  <text x='20' y='30' font-family='Arial' font-size='24' fill='white'>Power Flow</text>\
\
  <!-- Kohlenstoffarm (Grün) -->\
  <circle id='lowCarbonCircle' cx='100' cy='100' r='45' fill='none' stroke='green' stroke-width='10' opacity='0.4'/>\
  <circle cx='100' cy='100' r='40' fill='none' stroke='green' stroke-width='5'/>\
  <text x='100' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Low-Carbon</text>\
  <text id='lowCarbonPower' x='100' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>0 %</text>\
\
  <!-- Solar (Orange) - Glow Kasten -->\
  <rect x='205' y='55' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='orange' stroke-width='10'/>\
  <rect x='210' y='60' rx='20' ry='20' width='80' height='80' fill='none' stroke='orange' stroke-width='5' />\
  <text x='250' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Solar</text>\
  <text id='solarPower' x='250' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Netz (Blau) -->\
  <rect x='55' y='205' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='blue' stroke-width='10'/>\
  <rect x='60' y='210' rx='20' ry='20' width='80' height='80' fill='none' stroke='blue' stroke-width='5' />  \
  <text id='gridPower' x='100' y='235' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
  <text x='100' y='250' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Grid</text>\
  <text id='gridPowerIn' x='100' y='265' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
  <text id='gridPowerOut' x='100' y='280' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Batterie Label -->\
  <text x='250' y='400' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Battery</text>\
  <text id='batteryPower' x='250' y='415' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
  <text id='batteryPercent' x='250' y='385' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Batterie stop (Turkis) -->\
  <circle id='batteryCircle' cx='250' cy='400' r='45' fill='none' stroke='turquoise' stroke-width='10' opacity='0.4'/>\
  <circle id='batteryStatic' cx='250' cy='400' r='40' fill='none' stroke='turquoise' stroke-width='5'/>\
\
  <!-- Batterie dreht links -->\
  <circle id='batteryClockwise' cx='250' cy='400' r='40' fill='none' stroke='purple' stroke-width='5' stroke-dasharray='9 5' stroke-dashoffset='3' style='display:none;;'>\
    <animateTransform attributeName='transform' type='rotate' from='0 250 400' to='360 250 400' dur='5s' repeatCount='indefinite' />\
  </circle>\
\
  <!-- Batteriering dreht rechts -->\
  <circle id='batteryCounterClockwise' cx='250' cy='400' r='40' fill='none' stroke='turquoise' stroke-width='5' stroke-dasharray='9 5' stroke-dashoffset='3' style='display:none;;'>\
    <animateTransform attributeName='transform' type='rotate' from='0 250 400' to='-360 250 400' dur='5s' repeatCount='indefinite' />\
  </circle>\
\
  <!-- Haus + Ringsegmente -->\
  <circle id='houseCircle' cx='400' cy='250' r='45' fill='none' stroke='purple' stroke-width='10' opacity='0.4'/>\
  <circle id='solarSegment' cx='400' cy='250' r='40' fill='none' stroke='orange' stroke-width='5' stroke-dasharray='0 100' />\
  <circle id='gridSegment' cx='400' cy='250' r='40' fill='none' stroke='blue' stroke-width='5' stroke-dasharray='0 100' />\
  <circle id='batterySegment' cx='400' cy='250' r='40' fill='none' stroke='purple' stroke-width='5' stroke-dasharray='0 100' />\
  <text x='400' y='250' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>House</text>\
  <text id='housePower' x='400' y='265' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Lufttrockner (Blau) -->\
  <circle id='airDryerCircle' cx='400' cy='100' r='45' fill='none' stroke='blue' stroke-width='10' opacity='0.4'/>\
  <circle cx='400' cy='100' r='40' fill='none' stroke='blue' stroke-width='5'/>\
  <text x='400' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Airdryer</text>\
  <text id='airdryerPower' x='400' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Kühlschrank (Gelb) -->\
  <rect x='355' y='355' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='yellow' stroke-width='10'/>\
  <rect x='360' y='360' rx='20' ry='20' width='80' height='80' fill='none' stroke='yellow' stroke-width='5' />\
  <text x='400' y='400' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Fridge</text>\
  <text id='fridgePower' x='400' y='415' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Waschmaschine (Gelb) -->\
  <rect x='505' y='55' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='yellow' stroke-width='10'/>\
  <rect x='510' y='60' rx='20' ry='20' width='80' height='80' fill='none' stroke='yellow' stroke-width='5' />\
  <text x='550' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Washer</text>\
  <text id='washerPower' x='550' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Trockner (Grün) -->\
  <circle id='dryerCircle' cx='550' cy='250' r='45' fill='none' stroke='green' stroke-width='10' opacity='0.4'/>\
  <circle cx='550' cy='250' r='40' fill='none' stroke='green' stroke-width='5'/>\
  <text x='550' y='250' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Dryer</text>\
  <text id='dryerPower' x='550' y='265' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Geschirrspüler (Blau) -->\
  <circle id='dishwasherCircle' cx='550' cy='400' r='45' fill='none' stroke='blue' stroke-width='10' opacity='0.4'/>\
  <circle cx='550' cy='400' r='40' fill='none' stroke='blue' stroke-width='5'/>\
  <text x='550' y='400' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Dishwasher</text>\
  <text id='dishwasherPower' x='550' y='415' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Verbindungslinien -->\
\
  <!-- Verbindungslinie von Batterie zu Haus (Lila) --> \
  <path id='batteryToHousePath' d='M 260 354 A 110 100 0 0 1 357 260' stroke='purple' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='purple'>\
    <animateMotion id='batteryToHouse' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#batteryToHousePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Solar zu Haus (Orange) -->\
  <path id='solarToHousePath' d='M 260 145 A 110 100 0 0 0 357 240' stroke='orange' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='orange'>\
    <animateMotion id='solarToHouse' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#solarToHousePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Solar zu Batterie (Orange) -->\
  <path id='solarToBatteryPath' d='M 250 145 A 0 100 0 0 1 250 354' stroke='orange' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='orange'>\
    <animateMotion id='solarToBattery' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#solarToBatteryPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Lufttrockner (Blau) -->\
  <path id='houseToAirdryerPath' d='M 400 203 A 0 67 0 0 1 400 145' stroke='blue' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='blue'>\
    <animateMotion id='houseToAirdryer' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#houseToAirdryerPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Kühlschrank (Gelb) -->\
  <path id='houseToFridgePath' d='M 400 298 A 0 67 0 0 1 400 354' stroke='yellow' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='yellow'>\
    <animateMotion id='houseToFridge' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#houseToFridgePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Netz zu Kohlenstoffarm (Grün) -->\
  <path id='gridToLowCarbonPath' d='M 100 208 A 0 68 0 0 1 100 145' stroke='green' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='green'>\
    <animateMotion id='gridToLowCarbon' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#gridToLowCarbonPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Netz zu Haus (Blau) -->\
  <path id='gridToHousePath' d='M 146 250 H 357' stroke='blue' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='blue'>\
    <animateMotion id='gridToHouse' dur='3s' repeatCount='indefinite'>\
      <mpath href='#gridToHousePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Trockner (Green) -->\
  <path id='houseToDryerPath' d='M 446 250 A 0 0 0 0 1 505 250' stroke='green' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='green'>\
    <animateMotion id='houseToDryer' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#houseToDryerPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Geschirrspüler (Blue) -->\
  <path id='houseToDishwasherPath' d='M 446 260 A 110 110 0 0 1 550 354' stroke='blue' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='blue'>\
    <animateMotion id='houseToDishwasher' dur='3s' repeatCount='indefinite'>\
      <mpath href='#houseToDishwasherPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Solar zu Netz (Orange) -->\
  <path id='solarToGridPath' d='M 240 145 A 110 100 0 0 1 146 240' stroke='orange' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='orange'>\
    <animateMotion id='solarToGrid' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#solarToGridPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Netz zu Batterie (Turkis) -->\
  <path id='gridToBatteryPath' d='M 146 260 A 110 100 0 0 1 240 354' stroke='turquoise' stroke-width='2' fill='transparent'/>\
  <circle id='gridToBatteryStatic' r='5' fill='turquoise' style='display:none;;' />\
  <circle id='gridToBatteryForward' r='5' fill='turquoise' style='display:none;;'>\
    <animateMotion id='gridToBatteryForwardAnim' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#gridToBatteryPath'/>\
    </animateMotion>\
  </circle>\
  <circle id='gridToBatteryBackward' r='5' fill='turquoise' style='display:none;;'>\
    <animateMotion id='gridToBatteryBackwardAnim' dur='3s' repeatCount='indefinite' keyPoints='1;;0' keyTimes='0;;1'>\
      <mpath href='#gridToBatteryPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Waschmaschine (Gelb) -->\
  <path id='houseToWasherPath' d='M 550 145 A 110 100 0 0 1 446 240' stroke='yellow' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='yellow'>\
    <animateMotion id='houseToWasher' dur='3s' repeatCount='indefinite' keyPoints='1;;0' keyTimes='0;;1'>\
      <mpath href='#houseToWasherPath'/>\
    </animateMotion>\
  </circle>\
\
</svg>\
</div>\
</body>\
</html>\


setstate powerGrid <!DOCTYPE html>\
<html>\
<head>\
<title>powerGrid</title>\
<style>\
#wrapper {\
    background: black;;\
}\
svg {\
    width: 100%;;\
    height: auto;;\
}\
</style>\
</head>\
<body>\
\
<div id='wrapper'>\
<svg viewBox='0 0 650 500' xmlns='http://www.w3.org/2000/svg' style='background-color: black;; width: 90%;; height: auto;;'>\
 \
 <!-- Titel -->\
  <text x='20' y='30' font-family='Arial' font-size='24' fill='white'>Power Flow</text>\
\
  <!-- Kohlenstoffarm (Grün) -->\
  <circle id='lowCarbonCircle' cx='100' cy='100' r='45' fill='none' stroke='green' stroke-width='10' opacity='0.4'/>\
  <circle cx='100' cy='100' r='40' fill='none' stroke='green' stroke-width='5'/>\
  <text x='100' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Low-Carbon</text>\
  <text id='lowCarbonPower' x='100' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>0 %</text>\
\
  <!-- Solar (Orange) - Glow Kasten -->\
  <rect x='205' y='55' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='orange' stroke-width='10'/>\
  <rect x='210' y='60' rx='20' ry='20' width='80' height='80' fill='none' stroke='orange' stroke-width='5' />\
  <text x='250' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Solar</text>\
  <text id='solarPower' x='250' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Netz (Blau) -->\
  <rect x='55' y='205' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='blue' stroke-width='10'/>\
  <rect x='60' y='210' rx='20' ry='20' width='80' height='80' fill='none' stroke='blue' stroke-width='5' />  \
  <text id='gridPower' x='100' y='235' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
  <text x='100' y='250' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Grid</text>\
  <text id='gridPowerIn' x='100' y='265' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
  <text id='gridPowerOut' x='100' y='280' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Batterie Label -->\
  <text x='250' y='400' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Battery</text>\
  <text id='batteryPower' x='250' y='415' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
  <text id='batteryPercent' x='250' y='385' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Batterie stop (Turkis) -->\
  <circle id='batteryCircle' cx='250' cy='400' r='45' fill='none' stroke='turquoise' stroke-width='10' opacity='0.4'/>\
  <circle id='batteryStatic' cx='250' cy='400' r='40' fill='none' stroke='turquoise' stroke-width='5'/>\
\
  <!-- Batterie dreht links -->\
  <circle id='batteryClockwise' cx='250' cy='400' r='40' fill='none' stroke='purple' stroke-width='5' stroke-dasharray='9 5' stroke-dashoffset='3' style='display:none;;'>\
    <animateTransform attributeName='transform' type='rotate' from='0 250 400' to='360 250 400' dur='5s' repeatCount='indefinite' />\
  </circle>\
\
  <!-- Batteriering dreht rechts -->\
  <circle id='batteryCounterClockwise' cx='250' cy='400' r='40' fill='none' stroke='turquoise' stroke-width='5' stroke-dasharray='9 5' stroke-dashoffset='3' style='display:none;;'>\
    <animateTransform attributeName='transform' type='rotate' from='0 250 400' to='-360 250 400' dur='5s' repeatCount='indefinite' />\
  </circle>\
\
  <!-- Haus + Ringsegmente -->\
  <circle id='houseCircle' cx='400' cy='250' r='45' fill='none' stroke='purple' stroke-width='10' opacity='0.4'/>\
  <circle id='solarSegment' cx='400' cy='250' r='40' fill='none' stroke='orange' stroke-width='5' stroke-dasharray='0 100' />\
  <circle id='gridSegment' cx='400' cy='250' r='40' fill='none' stroke='blue' stroke-width='5' stroke-dasharray='0 100' />\
  <circle id='batterySegment' cx='400' cy='250' r='40' fill='none' stroke='purple' stroke-width='5' stroke-dasharray='0 100' />\
  <text x='400' y='250' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>House</text>\
  <text id='housePower' x='400' y='265' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Lufttrockner (Blau) -->\
  <circle id='airDryerCircle' cx='400' cy='100' r='45' fill='none' stroke='blue' stroke-width='10' opacity='0.4'/>\
  <circle cx='400' cy='100' r='40' fill='none' stroke='blue' stroke-width='5'/>\
  <text x='400' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Airdryer</text>\
  <text id='airdryerPower' x='400' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Kühlschrank (Gelb) -->\
  <rect x='355' y='355' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='yellow' stroke-width='10'/>\
  <rect x='360' y='360' rx='20' ry='20' width='80' height='80' fill='none' stroke='yellow' stroke-width='5' />\
  <text x='400' y='400' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Fridge</text>\
  <text id='fridgePower' x='400' y='415' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Waschmaschine (Gelb) -->\
  <rect x='505' y='55' rx='25' ry='25' width='90' height='90' fill='none' opacity='0.3' stroke='yellow' stroke-width='10'/>\
  <rect x='510' y='60' rx='20' ry='20' width='80' height='80' fill='none' stroke='yellow' stroke-width='5' />\
  <text x='550' y='100' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Washer</text>\
  <text id='washerPower' x='550' y='115' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Trockner (Grün) -->\
  <circle id='dryerCircle' cx='550' cy='250' r='45' fill='none' stroke='green' stroke-width='10' opacity='0.4'/>\
  <circle cx='550' cy='250' r='40' fill='none' stroke='green' stroke-width='5'/>\
  <text x='550' y='250' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Dryer</text>\
  <text id='dryerPower' x='550' y='265' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Geschirrspüler (Blau) -->\
  <circle id='dishwasherCircle' cx='550' cy='400' r='45' fill='none' stroke='blue' stroke-width='10' opacity='0.4'/>\
  <circle cx='550' cy='400' r='40' fill='none' stroke='blue' stroke-width='5'/>\
  <text x='550' y='400' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'>Dishwasher</text>\
  <text id='dishwasherPower' x='550' y='415' font-family='Arial' font-size='12' fill='white' text-anchor='middle' alignment-baseline='middle'></text>\
\
  <!-- Verbindungslinien -->\
\
  <!-- Verbindungslinie von Batterie zu Haus (Lila) --> \
  <path id='batteryToHousePath' d='M 260 354 A 110 100 0 0 1 357 260' stroke='purple' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='purple'>\
    <animateMotion id='batteryToHouse' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#batteryToHousePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Solar zu Haus (Orange) -->\
  <path id='solarToHousePath' d='M 260 145 A 110 100 0 0 0 357 240' stroke='orange' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='orange'>\
    <animateMotion id='solarToHouse' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#solarToHousePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Solar zu Batterie (Orange) -->\
  <path id='solarToBatteryPath' d='M 250 145 A 0 100 0 0 1 250 354' stroke='orange' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='orange'>\
    <animateMotion id='solarToBattery' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#solarToBatteryPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Lufttrockner (Blau) -->\
  <path id='houseToAirdryerPath' d='M 400 203 A 0 67 0 0 1 400 145' stroke='blue' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='blue'>\
    <animateMotion id='houseToAirdryer' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#houseToAirdryerPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Kühlschrank (Gelb) -->\
  <path id='houseToFridgePath' d='M 400 298 A 0 67 0 0 1 400 354' stroke='yellow' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='yellow'>\
    <animateMotion id='houseToFridge' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#houseToFridgePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Netz zu Kohlenstoffarm (Grün) -->\
  <path id='gridToLowCarbonPath' d='M 100 208 A 0 68 0 0 1 100 145' stroke='green' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='green'>\
    <animateMotion id='gridToLowCarbon' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#gridToLowCarbonPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Netz zu Haus (Blau) -->\
  <path id='gridToHousePath' d='M 146 250 H 357' stroke='blue' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='blue'>\
    <animateMotion id='gridToHouse' dur='3s' repeatCount='indefinite'>\
      <mpath href='#gridToHousePath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Trockner (Green) -->\
  <path id='houseToDryerPath' d='M 446 250 A 0 0 0 0 1 505 250' stroke='green' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='green'>\
    <animateMotion id='houseToDryer' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#houseToDryerPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Geschirrspüler (Blue) -->\
  <path id='houseToDishwasherPath' d='M 446 260 A 110 110 0 0 1 550 354' stroke='blue' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='blue'>\
    <animateMotion id='houseToDishwasher' dur='3s' repeatCount='indefinite'>\
      <mpath href='#houseToDishwasherPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Solar zu Netz (Orange) -->\
  <path id='solarToGridPath' d='M 240 145 A 110 100 0 0 1 146 240' stroke='orange' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='orange'>\
    <animateMotion id='solarToGrid' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#solarToGridPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Netz zu Batterie (Turkis) -->\
  <path id='gridToBatteryPath' d='M 146 260 A 110 100 0 0 1 240 354' stroke='turquoise' stroke-width='2' fill='transparent'/>\
  <circle id='gridToBatteryStatic' r='5' fill='turquoise' style='display:none;;' />\
  <circle id='gridToBatteryForward' r='5' fill='turquoise' style='display:none;;'>\
    <animateMotion id='gridToBatteryForwardAnim' dur='3s' repeatCount='indefinite' keyPoints='0;;1' keyTimes='0;;1'>\
      <mpath href='#gridToBatteryPath'/>\
    </animateMotion>\
  </circle>\
  <circle id='gridToBatteryBackward' r='5' fill='turquoise' style='display:none;;'>\
    <animateMotion id='gridToBatteryBackwardAnim' dur='3s' repeatCount='indefinite' keyPoints='1;;0' keyTimes='0;;1'>\
      <mpath href='#gridToBatteryPath'/>\
    </animateMotion>\
  </circle>\
\
  <!-- Verbindungslinie von Haus zu Waschmaschine (Gelb) -->\
  <path id='houseToWasherPath' d='M 550 145 A 110 100 0 0 1 446 240' stroke='yellow' stroke-width='2' fill='transparent'/>\
  <circle r='5' fill='yellow'>\
    <animateMotion id='houseToWasher' dur='3s' repeatCount='indefinite' keyPoints='1;;0' keyTimes='0;;1'>\
      <mpath href='#houseToWasherPath'/>\
    </animateMotion>\
  </circle>\
\
</svg>\
</div>\
</body>\
</html>\

setstate powerGrid 2024-11-08 20:32:40 airdryer_v 0
setstate powerGrid 2024-11-03 18:13:29 batteryState_v stop
setstate powerGrid 2024-11-01 12:43:15 battery_p 100
setstate powerGrid 2024-11-01 12:43:35 battery_v 0
setstate powerGrid 2024-11-08 20:33:33 dishwasher_v 0
setstate powerGrid 2024-11-08 20:32:14 dryer_v 0
setstate powerGrid 2024-11-08 20:33:13 fridge_v 0
setstate powerGrid 2024-11-08 20:33:39 grid_in_v 475.193
setstate powerGrid 2024-11-08 20:33:39 grid_out_v 81.466
setstate powerGrid 2024-11-08 20:33:39 grid_v 269
setstate powerGrid 2024-11-08 20:33:39 house_v 269
setstate powerGrid 2024-11-03 17:52:47 lowcarbon_v 0
setstate powerGrid 2024-11-08 20:33:44 solar_v 0
setstate powerGrid 2024-11-08 20:33:19 washer_v 0



2. Mein DOIF

defmod Powergrid_DOIF DOIF ## Grid + House\
([MQTT2_Smartmeter_2E1F50:"APOX_Power"])\
        ( set powerGrid grid_v {(ReadingsNum("MQTT2_Smartmeter_2E1F50","APOX_Power",0))} )\
        ( set powerGrid grid_in_v {(ReadingsNum("MQTT2_Smartmeter_2E1F50","APOX_E_in",0))} )\
        ( set powerGrid grid_out_v {(ReadingsNum("MQTT2_Smartmeter_2E1F50","APOX_E_out",0))} )\
        ( set powerGrid house_v {(ReadingsVal("MQTT2_Smartmeter_2E1F50","APOX_Power",0) + ReadingsVal("MQTT2_OpenDTU_585584","power",0))} ) \
\
## Airdryer\
DOELSEIF  ([Luftentfeuchter:"ENERGY_Power"])\
        ( set powerGrid airdryer_v {(ReadingsNum("Luftentfeuchter","ENERGY_Power",0))} )\
\
## Dishwasher\
DOELSEIF  ([MQTT2_zigbee_Geschirrspueler:"power"])\
        ( set powerGrid dishwasher_v {(ReadingsNum("MQTT2_zigbee_Geschirrspueler","power",0))} )\
\
## Dryer\
DOELSEIF  ([MQTT2_zigbee_Trockner:"power"])\
        ( set powerGrid dryer_v {(ReadingsNum("MQTT2_zigbee_Trockner","power",0))} )\
\
## Fridge\
DOELSEIF  ([MQTT2_zigbee_Kuehlschrank:"^power:.*$"])\
        ( set powerGrid fridge_v {(ReadingsNum("MQTT2_zigbee_Kuehlschrank","power",0))} )\
\
## Solar\
DOELSEIF   ([MQTT2_OpenDTU_585584:"power"] )\
        ( set powerGrid solar_v {(ReadingsNum("MQTT2_OpenDTU_585584","power",0))} )\
\
## Washer\
DOELSEIF  ([MQTT2_zigbee_Waschmaschine:"power"])\
        ( set powerGrid washer_v {(ReadingsNum("MQTT2_zigbee_Waschmaschine","power",0))} )\


setstate Powergrid_DOIF cmd_6
setstate Powergrid_DOIF 2024-11-08 20:35:49 Device MQTT2_OpenDTU_585584
setstate Powergrid_DOIF 2024-11-08 20:35:49 cmd 6
setstate Powergrid_DOIF 2024-11-08 20:35:49 cmd_event MQTT2_OpenDTU_585584
setstate Powergrid_DOIF 2024-11-08 20:35:49 cmd_nr 6
setstate Powergrid_DOIF 2024-11-08 20:32:40 e_Luftentfeuchter_events ENERGY_Period: 0,ENERGY_Today: 0.447,ENERGY_TotalStartTime: 2024-08-17T10:11:53,ENERGY_ApparentPower: 0,ENERGY_Yesterday: 0.516,ENERGY_Current: 0.000,ENERGY_Factor: 0.00,Time: 2024-11-08T21:32:40,ENERGY_ReactivePower: 0,ENERGY_Power: 0,ENERGY_Total: 82.747,ENERGY_Voltage: 0
setstate Powergrid_DOIF 2024-11-08 20:35:49 e_MQTT2_OpenDTU_585584_events is_valid: 1,ForecastToday: 864 Wh,ForecastTomorrow: 8497 Wh
setstate Powergrid_DOIF 2024-11-08 20:35:39 e_MQTT2_Smartmeter_2E1F50_events StatusSNS_APOX_Power: 264,StatusSNS_APOX_E_in: 475.202,StatusSNS_Time: 2024-11-08T20:35:39
setstate Powergrid_DOIF 2024-11-08 20:35:47 e_MQTT2_zigbee_Geschirrspueler_events on,last_seen: 2024-11-08T20:35:47+01:00,linkquality: 236,power_outage_memory: restore,energy: 14.1,power: 0,countdown: 0,indicator_mode: off/on,voltage: 226,current: 0,child_lock: UNLOCK
setstate Powergrid_DOIF 2024-11-08 20:33:13 e_MQTT2_zigbee_Kuehlschrank_events energy: 23.54,power: 0,power_outage_memory: restore,linkquality: 188,ON,last_seen: 2024-11-08T20:33:13+01:00,current: 0,child_lock: UNLOCK,voltage: 226,indicator_mode: off/on,countdown: 0
setstate Powergrid_DOIF 2024-11-08 20:35:12 e_MQTT2_zigbee_Trockner_events countdown: 0,child_lock: UNLOCK,voltage: 226,update_state: available,on,energy: 215.15,linkquality: 140,indicator_mode: off/on,current: 0,update_installed_version: 77,last_seen: 2024-11-08T20:35:12+01:00,update_latest_version: 192,power_outage_memory: restore,power: 0
setstate Powergrid_DOIF 2024-11-08 20:35:44 e_MQTT2_zigbee_Waschmaschine_events on,linkquality: 116,energy: 251.09,countdown: 0,voltage: 229,update_state: available,child_lock: UNLOCK,last_seen: 2024-11-08T20:35:44+01:00,update_latest_version: 192,update_installed_version: 77,power_outage_memory: restore,power: 0,indicator_mode: off/on,current: 0
setstate Powergrid_DOIF 2024-11-08 20:12:30 mode enabled
setstate Powergrid_DOIF 2024-11-08 20:35:49 state cmd_6



Gruß schwatter
#10
Sonstige Systeme / Aw: Broadlink Modul
Letzter Beitrag von hapege - 08 November 2024, 20:39:41
Hi,

klasse, das hatte ich nciht gefunden - Danke Dir!