Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 34 additions & 25 deletions core/class/energy3.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -189,13 +189,15 @@ public function calculPerformance() {
$autoconsumption = 100;
}
$this->checkAndUpdateCmd('elec::autoconsumption', $autoconsumption);
$selfsufficiency = round((($production - $export) / $consumption) * 100, 1);
if ($selfsufficiency < 0) {
$selfsufficiency = 0;
} elseif ($selfsufficiency > 100) {
$selfsufficiency = 100;
if($consumption > 0){
$selfsufficiency = round((($production - $export) / $consumption) * 100, 1);
if ($selfsufficiency < 0) {
$selfsufficiency = 0;
} elseif ($selfsufficiency > 100) {
$selfsufficiency = 100;
}
$this->checkAndUpdateCmd('elec::selfsufficiency', $selfsufficiency);
}
$this->checkAndUpdateCmd('elec::selfsufficiency', $selfsufficiency);
}


Expand Down Expand Up @@ -325,8 +327,10 @@ public function postSave() {
$listener->setFunction('listenner');
$listener->setOption(array('energy3_id' => intval($this->getId())));
$listener->emptyEvent();
foreach ($events as $cmd_id) {
$listener->addEvent($cmd_id);
if(is_array($events) && count($events) > 0){
foreach ($events as $cmd_id) {
$listener->addEvent($cmd_id);
}
}
$listener->save();

Expand All @@ -338,22 +342,25 @@ public function postSave() {
}

$nbConsummer = count($this->getConfiguration('elecConsumers'));
foreach ($this->getCmd('info') as $cmd) {
if (strpos($cmd->getLogicalId(), 'elec-consummer-') !== 0) {
continue;
}
$cmd->remove();
}

foreach ($this->getConfiguration('elecConsumers') as $elecConsumer) {
$consumer = cmd::byId(str_replace('#', '', $elecConsumer['cmd']));
if (is_object($consumer) && $consumer->getIsHistorized() != 1) {
$consumer->setIsHistorized(1);
$consumer->save();
}
}
if(is_array($this->getCmd('info')) && count($this->getCmd('info')) > 0){
foreach ($this->getCmd('info') as $cmd) {
if (strpos($cmd->getLogicalId(), 'elec-consummer-') !== 0) {
continue;
}
$cmd->remove();
}
}
if(is_array($this->getConfiguration('elecConsumers')) && count($this->getConfiguration('elecConsumers')) > 0){
foreach ($this->getConfiguration('elecConsumers') as $elecConsumer) {
$consumer = cmd::byId(str_replace('#', '', $elecConsumer['cmd']));
if (is_object($consumer) && $consumer->getIsHistorized() != 1) {
$consumer->setIsHistorized(1);
$consumer->save();
}
}
}
}

public function generatePanel($_version = 'dashboard', $_period = 'D') {
$starttime = date('Y-m-d H:i:s', strtotime(self::$_period[$_period]['start']));
$endtime = date('Y-m-d H:i:s', strtotime(self::$_period[$_period]['end']));
Expand Down Expand Up @@ -408,7 +415,7 @@ public function generatePanel($_version = 'dashboard', $_period = 'D') {
}
if ($_period == 'D') {
$return['html'] .= $this->toHtml($_version);
$elec_consumption = $this->getCmd('info', 'elec::consumption')->execCmd();
$elec_consumption = (float) $this->getCmd('info', 'elec::consumption')->execCmd();
} else {
$replace = $this->preToHtml($_version);
$version = jeedom::versionAlias($_version);
Expand Down Expand Up @@ -441,6 +448,8 @@ public function generatePanel($_version = 'dashboard', $_period = 'D') {
}
if ($cmd->getLogicalId() == 'elec::consumption') {
$elec_consumption = $replace['#elec-consumption-state#'];
}else{
$elec_consumption = 0;
}
if ($replace['#' . str_replace('::', '-', $cmd->getLogicalId()) . '-state#'] == '') {
$replace['#' . str_replace('::', '-', $cmd->getLogicalId()) . '-state#'] = 0;
Expand Down Expand Up @@ -531,7 +540,7 @@ public function generatePanel($_version = 'dashboard', $_period = 'D') {
);

$info['name'] = (!isset($elecConsumer['name']) || $elecConsumer['name'] == '') ? $consumer->getEqLogic()->getName() : $elecConsumer['name'];
if ($consumption == 0) {
if ($consumption == 0 || $elec_consumption == 0) {
$info['pourcent'] = 0;
} else {
$info['pourcent'] = round(($consumption / $elec_consumption) * 100);
Expand Down
83 changes: 83 additions & 0 deletions core/i18n/de_DE.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"plugins\/energy3\/desktop\/php\/panel.php": {
"401 - Accès non autorisé": "401 – Unbefugter Zugriff",
"Liste des équipements": "Liste der Ausrüstung",
"Rechercher": "Forschen"
},
"plugins\/energy3\/desktop\/php\/energy3.php": {
"401 - Accès non autorisé": "401 – Unbefugter Zugriff",
"Gestion": "Management",
"Ajouter": "Hinzufügen",
"Configuration": "Aufbau",
"Mes templates": "Meine Vorlagen",
"Aucun équipement trouvé, cliquer sur \"Ajouter\" pour commencer": "Keine Ausrüstung gefunden, klicken Sie zum Starten auf \"Hinzufügen\"",
"Rechercher": "Forschen",
"Equipement visible": "Sichtbare Ausrüstung",
"Equipement non visible": "Ausrüstung nicht sichtbar",
"Configuration avancée": "Erweiterte Einrichtung",
"Dupliquer": "Duplikat",
"Sauvegarder": "Zu schützen",
"Supprimer": "LÖSCHEN",
"Equipement": "Ausrüstung",
"Détails": "Einzelheiten",
"Commandes": "Aufträge",
"Paramètres généraux": "Allgemeine Einstellungen",
"Nom de l'équipement": "Ausrüstungsname",
"Objet parent": "übergeordnetes Objekt",
"Aucun": "Keiner",
"Catégorie": "Kategorie",
"Options": "Optionen",
"Activer": "Ermöglichen",
"Visible": "Sichtbar",
"Electricité": "Elektrizität",
"Importé du réseau par jour": "Täglich aus dem Netzwerk importiert",
"Consommation par jour": "Verbrauch pro Tag",
"Production instantanée": "Sofortige Produktion",
"Production par jour": "Produktion pro Tag",
"Renvoyé au réseaux par jour": "Täglich zu Netzwerken zurückgekehrt",
"Puissance nette instantanée": "Sofortige Netzleistung",
"Gaz": "Gas",
"Consommation instantanée": "Sofortiger Verbrauch",
"Eau": "Wasser",
"Informations": "Information",
"Description": "Beschreibung",
"Commande de mise à jour des informations": "Befehl zum Aktualisieren von Informationen",
"Estimation production solaire": "Schätzung der Solarproduktion",
"Localisation": "Standort",
"Orientation (-90=est, 0=sud, 90=ouest, 180=nord)": "Ausrichtung (-90=Osten, 0=Süden, 90=Westen, 180=Norden)",
"Inclinaison": "Neigung",
"Puissance en KWc": "Leistung in kWp",
"Divers": "Verschieden",
"Température extérieure": "Außentemperatur",
"Consommateur électricité": "Stromverbraucher",
"Ajouter une commande": "Bestellung hinzufügen",
"Nom": "Name",
"Type": "Art",
"Etat": "Zustand",
"Actions": "Anteile"
},
"plugins\/energy3\/desktop\/js\/energy3.js": {
"Nom de la commande": "Befehlsname",
"Choisir une icône": "Wählen Sie ein Symbol",
"Afficher": "Anzeige",
"Historiser": "Historisiere",
"Inverser": "Umkehren",
"Min": "Minimum",
"Max": "Max",
"Unité": "Einheit",
"Supprimer la commande": "Auftrag löschen",
"Commande": "Befehl",
"Nom": "Name",
"Consommation par jour (si Wh ou kWh)": "Verbrauch pro Tag (wenn Wh oder kWh)"
},
"plugins\/energy3\/core\/ajax\/energy3.ajax.php": {
"401 - Accès non autorisé": "401 – Unbefugter Zugriff",
"Aucune méthode correspondante à": "Keine Matching-Methode"
},
"plugins\/energy3\/core\/class\/energy3.class.php": {
"Erreur lors de la récuperation des prévision solaire : ": "Fehler beim Abrufen der Sonnenprognose:"
},
"info.json": {
"Plugin servant à afficher un dashboard énergétique de la maison (eau, gaz, électricité et production solaire). Attention ce plugin ne prend pas en charge les batteries": "Plugin zur Anzeige eines Energie-Dashboards des Hauses (Wasser-, Gas-, Strom- und Solarproduktion). Bitte beachten Sie, dass dieses Plugin keine Batterien unterstützt"
}
}
83 changes: 83 additions & 0 deletions core/i18n/en_US.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"plugins\/energy3\/desktop\/php\/panel.php": {
"401 - Accès non autorisé": "401 - Unauthorized Access",
"Liste des équipements": "List of equipment",
"Rechercher": "To research"
},
"plugins\/energy3\/desktop\/php\/energy3.php": {
"401 - Accès non autorisé": "401 - Unauthorized Access",
"Gestion": "Management",
"Ajouter": "Add",
"Configuration": "Configuration",
"Mes templates": "My templates",
"Aucun équipement trouvé, cliquer sur \"Ajouter\" pour commencer": "No equipment found, click \"Add\" to start",
"Rechercher": "To research",
"Equipement visible": "Visible equipment",
"Equipement non visible": "Equipment not visible",
"Configuration avancée": "Advanced setup",
"Dupliquer": "Duplicate",
"Sauvegarder": "To safeguard",
"Supprimer": "DELETE",
"Equipement": "Equipment",
"Détails": "Details",
"Commandes": "Orders",
"Paramètres généraux": "General settings",
"Nom de l'équipement": "Equipment name",
"Objet parent": "Parent object",
"Aucun": "None",
"Catégorie": "Category",
"Options": "Options",
"Activer": "Enable",
"Visible": "Visible",
"Electricité": "Electricity",
"Importé du réseau par jour": "Imported from the network daily",
"Consommation par jour": "Consumption per day",
"Production instantanée": "Instant output",
"Production par jour": "Production per day",
"Renvoyé au réseaux par jour": "Returned to networks daily",
"Puissance nette instantanée": "Instant net power",
"Gaz": "Gas",
"Consommation instantanée": "Instant consumption",
"Eau": "Water",
"Informations": "Information",
"Description": "Description",
"Commande de mise à jour des informations": "Information update command",
"Estimation production solaire": "Solar production estimate",
"Localisation": "Location",
"Orientation (-90=est, 0=sud, 90=ouest, 180=nord)": "Orientation (-90=east, 0=south, 90=west, 180=north)",
"Inclinaison": "Tilt",
"Puissance en KWc": "Power in KWp",
"Divers": "Various",
"Température extérieure": "Outside temperature",
"Consommateur électricité": "Electricity consumer",
"Ajouter une commande": "Add an order",
"Nom": "Name",
"Type": "Kind",
"Etat": "State",
"Actions": "Shares"
},
"plugins\/energy3\/desktop\/js\/energy3.js": {
"Nom de la commande": "Command name",
"Choisir une icône": "Choose an icon",
"Afficher": "Display",
"Historiser": "Historize",
"Inverser": "Reverse",
"Min": "Minimum",
"Max": "Maximum",
"Unité": "Unit",
"Supprimer la commande": "Delete order",
"Commande": "Order",
"Nom": "Name",
"Consommation par jour (si Wh ou kWh)": "Consumption per day (if Wh or kWh)"
},
"plugins\/energy3\/core\/ajax\/energy3.ajax.php": {
"401 - Accès non autorisé": "401 - Unauthorized Access",
"Aucune méthode correspondante à": "No matching method"
},
"plugins\/energy3\/core\/class\/energy3.class.php": {
"Erreur lors de la récuperation des prévision solaire : ": "Error while retrieving solar forecast:"
},
"info.json": {
"Plugin servant à afficher un dashboard énergétique de la maison (eau, gaz, électricité et production solaire). Attention ce plugin ne prend pas en charge les batteries": "Plugin used to display an energy dashboard of the house (water, gas, electricity and solar production). Please note this plugin does not support batteries"
}
}
83 changes: 83 additions & 0 deletions core/i18n/es_ES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"plugins\/energy3\/desktop\/php\/panel.php": {
"401 - Accès non autorisé": "401 - Acceso no autorizado",
"Liste des équipements": "Lista de equipo",
"Rechercher": "Buscar"
},
"plugins\/energy3\/desktop\/php\/energy3.php": {
"401 - Accès non autorisé": "401 - Acceso no autorizado",
"Gestion": "Gestión",
"Ajouter": "Agregar",
"Configuration": "Configuración",
"Mes templates": "Mis plantillas",
"Aucun équipement trouvé, cliquer sur \"Ajouter\" pour commencer": "No se encontró ningún equipo, haga clic en \"Agregar\" para comenzar",
"Rechercher": "Buscar",
"Equipement visible": "Equipos visibles",
"Equipement non visible": "Equipo no visible",
"Configuration avancée": "Configuración avanzada",
"Dupliquer": "Duplicar",
"Sauvegarder": "Para salvaguardar",
"Supprimer": "BORRAR",
"Equipement": "Equipo",
"Détails": "Detalles",
"Commandes": "Pedidos",
"Paramètres généraux": "Configuración general",
"Nom de l'équipement": "Nombre del equipo",
"Objet parent": "Objeto principal",
"Aucun": "Ninguno",
"Catégorie": "Categoría",
"Options": "Opciones",
"Activer": "Permitir",
"Visible": "Visible",
"Electricité": "Electricidad",
"Importé du réseau par jour": "Importado de la red diariamente",
"Consommation par jour": "Consumo por día",
"Production instantanée": "Salida instantánea",
"Production par jour": "Producción por día",
"Renvoyé au réseaux par jour": "Regresó a las redes diariamente",
"Puissance nette instantanée": "Potencia neta instantánea",
"Gaz": "Gas",
"Consommation instantanée": "Consumo instantáneo",
"Eau": "Agua",
"Informations": "Información",
"Description": "Descripción",
"Commande de mise à jour des informations": "Comando de actualización de información",
"Estimation production solaire": "Estimación de producción solar",
"Localisation": "Ubicación",
"Orientation (-90=est, 0=sud, 90=ouest, 180=nord)": "Orientación (-90=este, 0=sur, 90=oeste, 180=norte)",
"Inclinaison": "Inclinación",
"Puissance en KWc": "Potencia en KWp",
"Divers": "Diverso",
"Température extérieure": "Temperatura exterior",
"Consommateur électricité": "Consumidor de electricidad",
"Ajouter une commande": "Añadir un pedido",
"Nom": "Apellido",
"Type": "Amable",
"Etat": "Estado",
"Actions": "Comparte"
},
"plugins\/energy3\/desktop\/js\/energy3.js": {
"Nom de la commande": "Nombre del comando",
"Choisir une icône": "Elige un icono",
"Afficher": "Mostrar",
"Historiser": "Historizar",
"Inverser": "Contrarrestar",
"Min": "Mínimo",
"Max": "Máx.",
"Unité": "Unidad",
"Supprimer la commande": "Eliminar orden",
"Commande": "Orden",
"Nom": "Apellido",
"Consommation par jour (si Wh ou kWh)": "Consumo por día (si Wh o kWh)"
},
"plugins\/energy3\/core\/ajax\/energy3.ajax.php": {
"401 - Accès non autorisé": "401 - Acceso no autorizado",
"Aucune méthode correspondante à": "Sin método de coincidencia"
},
"plugins\/energy3\/core\/class\/energy3.class.php": {
"Erreur lors de la récuperation des prévision solaire : ": "Error al recuperar el pronóstico solar:"
},
"info.json": {
"Plugin servant à afficher un dashboard énergétique de la maison (eau, gaz, électricité et production solaire). Attention ce plugin ne prend pas en charge les batteries": "Complemento utilizado para mostrar un tablero de energía de la casa (agua, gas, electricidad y producción solar). Tenga en cuenta que este complemento no admite baterías"
}
}
Loading