umschalten 1-phasiges Laden für go-e v1 hinzugefühgt.

This commit is contained in:
2024-07-17 14:29:58 +02:00
parent d96ffd2fb9
commit a1cdf89f7a
6 changed files with 182 additions and 3 deletions

View File

@@ -0,0 +1,67 @@
# Manager_1
Beschreibung des Moduls.
### Inhaltsverzeichnis
1. [Funktionsumfang](#1-funktionsumfang)
2. [Voraussetzungen](#2-voraussetzungen)
3. [Software-Installation](#3-software-installation)
4. [Einrichten der Instanzen in IP-Symcon](#4-einrichten-der-instanzen-in-ip-symcon)
5. [Statusvariablen und Profile](#5-statusvariablen-und-profile)
6. [WebFront](#6-webfront)
7. [PHP-Befehlsreferenz](#7-php-befehlsreferenz)
### 1. Funktionsumfang
*
### 2. Voraussetzungen
- IP-Symcon ab Version 7.1
### 3. Software-Installation
* Über den Module Store das 'Manager_1'-Modul installieren.
* Alternativ über das Module Control folgende URL hinzufügen
### 4. Einrichten der Instanzen in IP-Symcon
Unter 'Instanz hinzufügen' kann das 'Manager_1'-Modul mithilfe des Schnellfilters gefunden werden.
- Weitere Informationen zum Hinzufügen von Instanzen in der [Dokumentation der Instanzen](https://www.symcon.de/service/dokumentation/konzepte/instanzen/#Instanz_hinzufügen)
__Konfigurationsseite__:
Name | Beschreibung
-------- | ------------------
|
|
### 5. Statusvariablen und Profile
Die Statusvariablen/Kategorien werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.
#### Statusvariablen
Name | Typ | Beschreibung
------ | ------- | ------------
| |
| |
#### Profile
Name | Typ
------ | -------
|
|
### 6. WebFront
Die Funktionalität, die das Modul im WebFront bietet.
### 7. PHP-Befehlsreferenz
`boolean GEF_BeispielFunktion(integer $InstanzID);`
Erklärung der Funktion.
Beispiel:
`GEF_BeispielFunktion(12345);`

View File

@@ -0,0 +1,7 @@
{
"translations": {
"de": {
}
}
}

View File

@@ -0,0 +1,12 @@
{
"id": "{21F800F4-A506-62C9-CF26-9CA652629C22}",
"name": "Belevo_Server_Kommunikation",
"type": 3,
"vendor": "Belevo AG",
"aliases": [],
"parentRequirements": [],
"childRequirements": [],
"implemented": [],
"prefix": "GEF",
"url": ""
}

View File

@@ -0,0 +1,19 @@
<?php
class Belevo_Server_Kommunikation extends IPSModule
{
public function Create()
{
parent::Create();
}
public function ApplyChanges()
{
return;
}
}
?>

View File

@@ -28,6 +28,7 @@ public function Create() {
$this->RegisterVariableBoolean("Ladebereit", "Ladebereit", "~Switch", 11); $this->RegisterVariableBoolean("Ladebereit", "Ladebereit", "~Switch", 11);
$this->RegisterVariableBoolean("Solarladen", "Solarladen", "~Switch", 11); $this->RegisterVariableBoolean("Solarladen", "Solarladen", "~Switch", 11);
$this->RegisterVariableInteger("Fahrzeugstatus", "Fahrzeugstatus", "", 0); $this->RegisterVariableInteger("Fahrzeugstatus", "Fahrzeugstatus", "", 0);
$this->RegisterVariableInteger("Lademodus", "Lademodus", "", 0);
@@ -146,6 +147,14 @@ public function GetCurrentData(bool $Peak) {
// Speichere den Wert von "car" in der Variable $status // Speichere den Wert von "car" in der Variable $status
SetValue($this->GetIDForIdent("Fahrzeugstatus"), $data['car']); SetValue($this->GetIDForIdent("Fahrzeugstatus"), $data['car']);
if($data['nrg'][6]!=0 && $data['car']===2){
SetValue($this->GetIDForIdent("Lademodus"), 1);
}elseif($data['nrg'][6]===0 && $data['car']===2){
SetValue($this->GetIDForIdent("Lademodus"), 0);
}
} }
} }
@@ -190,7 +199,7 @@ public function sendPowerToStation($value) {
// Base URL // Base URL
$baseUrl = "http://" . $this->ReadPropertyString("IP_Adresse") . "/mqtt?payload="; $baseUrl = "http://" . $this->ReadPropertyString("IP_Adresse") . "/mqtt?payload=";
IPS_LogMessage("Ladestation", "Aufgerufene ip" . $baseUrl); IPS_LogMessage("Ladestation", "Aufgerufene ip" . $baseUrl);
$value = $this->convertPowerToCurrent($value); $value = $this->convertPowerToCurrent($value, GetValue($this->GetIDForIdent("Lademodus")););
// Initialize a cURL session // Initialize a cURL session
$ch = curl_init(); $ch = curl_init();
@@ -242,7 +251,9 @@ public function sendPowerToStation($value) {
} }
} }
public function convertPowerToCurrent($value) { public function convertPowerToCurrent($value, $Lademodus) {
if($Lademodus===1){
if ($value == 0) { if ($value == 0) {
return 0; return 0;
} elseif ($value == 4150) { } elseif ($value == 4150) {
@@ -301,6 +312,69 @@ public function convertPowerToCurrent($value) {
return 32; return 32;
} }
return 0; return 0;
}elseif($Lademodus===0){
if ($value == 0) {
return 0;
} elseif ($value == 1450) {
return 6;
} elseif ($value == 1690) {
return 7;
} elseif ($value == 1930) {
return 8;
} elseif ($value == 2170) {
return 9;
} elseif ($value == 2410) {
return 10;
} elseif ($value == 2650) {
return 11;
} elseif ($value == 2890) {
return 12;
} elseif ($value == 3130) {
return 13;
} elseif ($value == 3370) {
return 14;
} elseif ($value == 3610) {
return 15;
} elseif ($value == 3850) {
return 16;
} elseif ($value == 4090) {
return 17;
} elseif ($value == 4330) {
return 18;
} elseif ($value == 4570) {
return 19;
} elseif ($value == 4810) {
return 20;
} elseif ($value == 5050) {
return 21;
} elseif ($value == 5290) {
return 22;
} elseif ($value == 5530) {
return 23;
} elseif ($value == 5770) {
return 24;
} elseif ($value == 6010) {
return 25;
} elseif ($value == 6250) {
return 26;
} elseif ($value == 6490) {
return 27;
} elseif ($value == 6730) {
return 28;
} elseif ($value == 6970) {
return 29;
} elseif ($value == 7210) {
return 30;
} elseif ($value == 7450) {
return 31;
} elseif ($value == 7690) {
return 32;
}
return 0;
}
} }
public function getRangeLimits($min, $max) { public function getRangeLimits($min, $max) {

View File

@@ -6,7 +6,7 @@
"compatibility": { "compatibility": {
"version": "7.1" "version": "7.1"
}, },
"version": "0.1", "version": "0.2",
"build": 0, "build": 0,
"date": 0 "date": 0
} }