GoE Charger: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 9: Zeile 9:
Die Abfrage und Steuerung erfolgen über das HTTPMOD-Modul, welches im Regelfall einmal pro Minute auf die wichtigsten Daten der Wallbox zugreift (auch manuell abrufbar als "get Wally status").  
Die Abfrage und Steuerung erfolgen über das HTTPMOD-Modul, welches im Regelfall einmal pro Minute auf die wichtigsten Daten der Wallbox zugreift (auch manuell abrufbar als "get Wally status").  


<div class="mw-collapsible mw-collapsed">
Benötigt wird dazu die IP-Adresse der Wallbox im lokalen Netzwerk, die in den nachfolgenden Code einzusetzen ist. Das Device heißt im Beispiel einfach ''Wally''
Benötigt wird dazu die IP-Adresse der Wallbox im lokalen Netzwerk, die in den nachfolgenden Code einzusetzen ist. Das Device heißt im Beispiel einfach ''Wally''
<div class="mw-collapsible-content">
<pre>
<pre>
defmod Wally HTTPMOD http://<IP-Adresse der Wallbox>/api/status?filter=acu,alw,car,cus,err,eto,modelStatus,tma,tpa,trx,wh 60
defmod Wally HTTPMOD http://<IP-Adresse der Wallbox>/api/status?filter=acu,alw,car,cus,err,eto,modelStatus,tma,tpa,trx,wh 60
Zeile 284: Zeile 286:
attr Wally widgetOverride led_brightness:slider,0,1,255 led_colorIdle:colorpicker,RGB led_colorWaitcar:colorpicker,RGB led_colorCharge:colorpicker,RGB led_colorFinished:colorpicker,RGB
attr Wally widgetOverride led_brightness:slider,0,1,255 led_colorIdle:colorpicker,RGB led_colorWaitcar:colorpicker,RGB led_colorCharge:colorpicker,RGB led_colorFinished:colorpicker,RGB
</pre>
</pre>
</div>
</div>


Für den Fall, dass man zwischendurch den Status der Wallbox abfragen möchte (z.B. via Modul Babble), empfiehlt es sich, ein ständig aktuelles Reading ''message'' bereitzuhalten.
Für den Fall, dass man zwischendurch den Status der Wallbox abfragen möchte (z.B. via Modul Babble), empfiehlt es sich, ein ständig aktuelles Reading ''message'' bereitzuhalten.

Version vom 5. August 2024, 12:03 Uhr

Der GoE-Charger ist eine WallBox des österreichischen Herstellers go-e (geründet 2015). Derzeit (2024) sind verschiedene Modelle im Angebot:

  • go-e Charger Gemini - WallBox mit 11 oder 22 kW Ladeleistung
  • go-e Charger Gemini Flex - mobile Version des obigen Gerätes zum Anschluss an eine vorhandene Kraftstromsteckdose
  • go-e Charger Gemini 2.0 - Variante des obigen Gerätes mit integrierter SIM-Karte für mobilen Datenzugriff
  • go-e Charger Gemini Flex 2.0 - mobile Version des obigen Gerätes zum Anschluss an eine vorhandene Kraftstromsteckdose

Einbindung via HTTPMOD

Die Abfrage und Steuerung erfolgen über das HTTPMOD-Modul, welches im Regelfall einmal pro Minute auf die wichtigsten Daten der Wallbox zugreift (auch manuell abrufbar als "get Wally status").

Benötigt wird dazu die IP-Adresse der Wallbox im lokalen Netzwerk, die in den nachfolgenden Code einzusetzen ist. Das Device heißt im Beispiel einfach Wally

Für den Fall, dass man zwischendurch den Status der Wallbox abfragen möchte (z.B. via Modul Babble), empfiehlt es sich, ein ständig aktuelles Reading message bereitzuhalten.

attr Wally babbleName wallbox
attr Wally userReadings <hier andere userReadings>,
  message:((car)|(charge)|(energy_total)).* {\
  my $ca=ReadingsVal("$NAME","car_num",0);;\
  my $ch=ReadingsVal("$NAME","charge_num",0);;\
  my $ret;;\
  if($ca==1){\
    $ret="An der Wallbox ist kein Fahrzeug angeschlossen";;\
  }elsif($ca=~/2|3/){\
    $ret="An der Wallbox ist der <Fahrzeugtyp> angeschlossen";;\
    if($ch=~/^([0-6]$)|(1[6,8])|(2[1-4])/){\
       my $nc=ReadingsVal("$NAME","charge",0);;\
       $ret.=", wird aber im Moment nicht geladen, der Grund dafür hat die Bezeichnung $nc";;\
    }elsif( $ch==12 ){\
       my $po=ReadingsVal("$NAME","power",0);;\
       my $en=ReadingsVal("$NAME","energy",0);;\
       $ret.=", wird mit solarem Überschuss von $po Kilowatt geladen und hat bereits $en Kilowattstunden erhalten.";;\
 }elsif( $ch==17 ){\
       my $en=ReadingsVal("$NAME","energy",0);;\
       $ret.=", die Ladung mit solarem Überschuss pausiert gerade. Der <Fahrzeugtyp> hat bereits $en Kilowattstunden erhalten.";;\
    }else{\
       my $po=ReadingsVal("$NAME","power",0);;\
       my $en=ReadingsVal("$NAME","energy",0);;\
       $ret.=", wird mit $po Kilowatt geladen und hat bereits $en Kilowattstunden erhalten.";;\
       my $du=ReadingsVal(<Device für das Fahrzeug>,"charge_timeremain",0);;\
       $ret.="Restladezeit etwa $du Minuten";;\
    }\
  }elsif($ca==4){\
    my $en=ReadingsVal("$NAME","energy",0);;\
    $ret="An der Wallbox ist der <Fahrzeugtyp> angeschlossen und wurde mit $en Kilowattstunden fertig geladen.";;\
  }else{\
    $ret="Die Wallbox befindet sich im Fehlerzustand, bitte überprüfen";;\
  }\
  return $ret},\
connection:LAST_ERROR.* {my $e=ReadingsVal("$NAME","LAST_ERROR","");;\
  if($e=~/timed out/){\
    return "timed_out"\
   }else{\
    return "ok"\
  }\
 }