neuer Regler erstellt: Shelly UNI
Moderator: Ulrich
-
- Beiträge: 6
- Registriert: So 12. Feb 2023, 15:28
neuer Regler erstellt: Shelly UNI
Hallo zusammen,
ich habe einen Shelly UNI im Einsatz, den ich für die Ansteuerung einer Wärmepumpe und die Abfrage von Systemtemperaturen nutzen.
Der UNI an sich ist mit der Shelly Cloud im Einsatz. Ich möchte das jedoch in Solaranzeige abbilden.
Eine shelly_uni.php ist erstellt und die könnte auch funktionieren.
Die multi_regler_auslesen.php habe ich ergänzt.
Der Start des PI läuft ohne Fehler.
Das Problem ist zuerst die Gerätenummer des Shelly uni.
Mir war es nicht möglich eine Geräte über 87 zu verwenden. Der Teil, der den Fehler ins LOG schreibt, konnte ich nicht finden.
Zum Schluss habe ich das Gerät 86 in multi_regler_auslesen.php geändert.
Trotzdem wird in die InfluxDB nicht mit Daten gefüllt.
Frage: Wo - in welche Datei - kann eine neue, unbenutzte Reglernummer angelegt werden?
ich habe einen Shelly UNI im Einsatz, den ich für die Ansteuerung einer Wärmepumpe und die Abfrage von Systemtemperaturen nutzen.
Der UNI an sich ist mit der Shelly Cloud im Einsatz. Ich möchte das jedoch in Solaranzeige abbilden.
Eine shelly_uni.php ist erstellt und die könnte auch funktionieren.
Die multi_regler_auslesen.php habe ich ergänzt.
Der Start des PI läuft ohne Fehler.
Das Problem ist zuerst die Gerätenummer des Shelly uni.
Mir war es nicht möglich eine Geräte über 87 zu verwenden. Der Teil, der den Fehler ins LOG schreibt, konnte ich nicht finden.
Zum Schluss habe ich das Gerät 86 in multi_regler_auslesen.php geändert.
Trotzdem wird in die InfluxDB nicht mit Daten gefüllt.
Frage: Wo - in welche Datei - kann eine neue, unbenutzte Reglernummer angelegt werden?
Michael
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
- Ulrich
- Administrator
- Beiträge: 5900
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 151 Mal
- Danksagung erhalten: 824 Mal
- Kontaktdaten:
Re: neuer Regler erstellt: Shelly UNI
So etwas ist vorgesehen und steht hier:
download/UserDevice.pdf
download/UserDevice.pdf
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 6
- Registriert: So 12. Feb 2023, 15:28
Re: neuer Regler erstellt: Shelly UNI
Ich habe aus einer der shelly.php ein user_config.php erstellt.
Es werden keine Fehler im LOG ausgegeben.
Die user_config.php enthält am Anfang einen Schreibbefehl ins LOG. Der kommt nicht im LOG an.
Sind außerhalb der user_config.php und der x.user.config.php noch Einträge erforderlich?
Hat jemand ein Muster für user_config.php?
Es werden keine Fehler im LOG ausgegeben.
Die user_config.php enthält am Anfang einen Schreibbefehl ins LOG. Der kommt nicht im LOG an.
Sind außerhalb der user_config.php und der x.user.config.php noch Einträge erforderlich?
Hat jemand ein Muster für user_config.php?
Code: Alles auswählen
26.02. 16:30:01 -Multi Regler Auslesen [Start].
26.02. 16:30:01 -Verarbeitung von: '1.user.config.php' Regler: 17
26.02. 16:30:01 |---------------- Start kostal_plenticore.php ---------------
26.02. 16:30:01 -Kostal: 192.168.178.6 Port: 1502 GeräteID: 1
26.02. 16:30:02 -Alle 10 Minuten werden die Statistikdaten übertragen.
26.02. 16:30:02 * -Daten zur lokalen InfluxDB [ kostalplenticore ] gesendet.
26.02. 16:30:02 -Multi-Regler-Ausgang. 7
26.02. 16:30:09 -OK. Datenübertragung erfolgreich.
26.02. 16:30:09 |---------------- Stop kostal_plenticore.php ---------------
26.02. 16:30:09 -Verarbeitung von: '2.user.config.php' Regler: 31
26.02. 16:30:09 |-------------------- Start shelly.php ------------------
26.02. 16:30:09 -Shelly Typ: SHEM-3
26.02. 16:30:09 -Gesamtleistung: -247.12 Watt
26.02. 16:30:09 -Alle 10 Minuten werden die Statistikdaten übertragen.
26.02. 16:30:09 * -Daten zur lokalen InfluxDB [ shelly3em ] gesendet.
26.02. 16:30:09 -Multi-Regler-Ausgang. 7
26.02. 16:30:16 -OK. Datenübertragung erfolgreich.
26.02. 16:30:16 -WattstundenGesamtHeute: -8055.58
26.02. 16:30:16 |-------------------- Stop shelly.php ------------------
26.02. 16:30:17 -Verarbeitung von: '3.user.config.php' Regler: 1000
26.02. 16:30:17 -Datei 'user_device.php' gefunden.
26.02. 16:31:01 -Multi Regler Auslesen [Start].
Michael
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
-
- Beiträge: 6
- Registriert: So 12. Feb 2023, 15:28
Re: neuer Regler erstellt: Shelly UNI
Die user_config.php wird durchlaufen.
Ich bin bei der Fehlerbehebung
Ich bin bei der Fehlerbehebung
Michael
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
-
- Beiträge: 6
- Registriert: So 12. Feb 2023, 15:28
Re: neuer Regler erstellt: Shelly UNI
Ich brauche doch noch Hilfe:
Gut läuft: user_device.php wird durchlaufen.
Grundsätzlich können Daten in die InfluxDB geschrieben werden und in Grafana genutzt werden.
Nicht geht:
Wenn über ZusatzQuerry alle geplanten Daten (ca. 11 Stück) in die DB eingetragen werden sollen, wird die DB nicht geschrieben.
Ein Test mit den 3 Temperaturen ist erfolgreich.
Hier die Fehlermeldung im LOG
Der entsprechende Teil in user_config.php sieht so aus:
Ich hatte zu Beginn versucht, alle Daten in ein Measurement zu packen. Das ging auch nicht.
Wer kann helfen?? Bitte!!
Gut läuft: user_device.php wird durchlaufen.
Grundsätzlich können Daten in die InfluxDB geschrieben werden und in Grafana genutzt werden.
Nicht geht:
Wenn über ZusatzQuerry alle geplanten Daten (ca. 11 Stück) in die DB eingetragen werden sollen, wird die DB nicht geschrieben.
Ein Test mit den 3 Temperaturen ist erfolgreich.
Hier die Fehlermeldung im LOG
Code: Alles auswählen
26.02. 19:15:22 -Daten => [ Array
(
[zentralerTimestamp] => 1677435311
[Type] => SHUNI-1
[Firmware] => 20221027-121732/v1.12.1-ga9117d3
[OK] => 0
[ZusatzQuery] => SH_UNI Externer_sensor=C,Analogeingang=0.08 1677435301
SH_UNI_DI Digitaleingang_1=0,Digitaleingang_2=0 1677435301
SH_UNI_Ausgang Ausgang_1=1,Ausgang_2= 1677435301
SH_UNI_TEMP Temperatur_1=41.81,Temperatur_2=26.94,Temperatur_3=40.69 1677435301
[Produkt] => Shelly UNI
[Regler] => 1000
[Objekt] => Shelly UNI
[Timestamp] => 1677435317
[Monat] => 2
[Woche] => 08
[Wochentag] => Sonntag
[Datum] => 26.02.2023
[Uhrzeit] => 19:15:17
[InfluxAdresse] =>
[InfluxPort] => 8086
[InfluxUser] =>
[InfluxPassword] =>
[InfluxDBName] => solaranzeige
[InfluxDaylight] =>
[InfluxDBLokal] => shellyuni
[InfluxSSL] =>
[Demodaten] =>
)
]
26.02. 19:15:22 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
Code: Alles auswählen
//****************************************************************************/
// Aufbereiten Query zum Speichern der Daten
// ***************************************************************************
$aktuelleDaten["ZusatzQuery"] = "SH_UNI ";
$aktuelleDaten["ZusatzQuery"] .= "Externer_sensor=".$UNI_Daten["Externer_sensor"];
$aktuelleDaten["ZusatzQuery"] .= ",Analogeingang=".$UNI_Daten["Analogeingang"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
$aktuelleDaten["ZusatzQuery"] .= "SH_UNI_DI ";
$aktuelleDaten["ZusatzQuery"] .= "Digitaleingang_1=".$UNI_Daten["Digitaleingang_1"];
$aktuelleDaten["ZusatzQuery"] .= ",Digitaleingang_2=".$UNI_Daten["Digitaleingang_2"];
//$aktuelleDaten["ZusatzQuery"] .= ",Digitaleingang_1_Event=".$UNI_Daten["Digitaleingang_1_Event"];
//$aktuelleDaten["ZusatzQuery"] .= ",Digitaleingang_2_Event=".$UNI_Daten["Digitaleingang_2_Event"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
$aktuelleDaten["ZusatzQuery"] .= "SH_UNI_Ausgang ";
$aktuelleDaten["ZusatzQuery"] .= "Ausgang_1=".$UNI_Daten["Ausgang_1"];
$aktuelleDaten["ZusatzQuery"] .= ",Ausgang_2=".$UNI_Daten["Ausgang_2"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
$aktuelleDaten["ZusatzQuery"] .= "\n";
$aktuelleDaten["ZusatzQuery"] .= "SH_UNI_TEMP ";
$aktuelleDaten["ZusatzQuery"] .= "Temperatur_1=".$UNI_Daten["Temperatur_1"];
$aktuelleDaten["ZusatzQuery"] .= ",Temperatur_2=".$UNI_Daten["Temperatur_2"];
$aktuelleDaten["ZusatzQuery"] .= ",Temperatur_3=".$UNI_Daten["Temperatur_3"];
//$aktuelleDaten["ZusatzQuery"] .= ",Luftfeuchtigkeit=".$UNI_Daten["Luftfeuchtigkeit"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
Wer kann helfen?? Bitte!!
Michael
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
- Ulrich
- Administrator
- Beiträge: 5900
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 151 Mal
- Danksagung erhalten: 824 Mal
- Kontaktdaten:
Re: neuer Regler erstellt: Shelly UNI
Du musst bei den Werten zwischen Text und reinen Zahlen unterscheiden.
Zahl=2.34, Text="das ist ein Text", Zahl1=200,Text1="noch ein Text" usw.
In der Zusatzquery muss alles was Text ist in Gänsefüßchen eingeschlossen werden, damit Influx das als Text erkennt.
Leider gibt die Influx Datenbank keinen Hinweis auf den Fehler, sondern speichert ihn einfach nicht ab.
Man kann alles als Text abspeichern, nur umgekehrt geht das nicht. Zahl="200" würde gehen. Zahl=4C00 geht nicht.
Externer_sensor=C => falsch
Externer_sensor="C" => richtig
Zahl=2.34, Text="das ist ein Text", Zahl1=200,Text1="noch ein Text" usw.
In der Zusatzquery muss alles was Text ist in Gänsefüßchen eingeschlossen werden, damit Influx das als Text erkennt.
Leider gibt die Influx Datenbank keinen Hinweis auf den Fehler, sondern speichert ihn einfach nicht ab.
Man kann alles als Text abspeichern, nur umgekehrt geht das nicht. Zahl="200" würde gehen. Zahl=4C00 geht nicht.
Externer_sensor=C => falsch
Externer_sensor="C" => richtig
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 6
- Registriert: So 12. Feb 2023, 15:28
Re: neuer Regler erstellt: Shelly UNI
Danke für die Hilfe Ulrich.
Es gab noch ein weiteres Problem: Nicht alle Variablen vom Shelly UNI haben einen Wert. Einige kommen mit NULL bzw. "" daher. Das ist erledigt.
Aber die Anführungszeichen habe ich nicht so hinbekommen, dass die InfluxDB auch zufrieden ist.
Die Anführungszeichen bei Externer_sensor sind " ' " - Doppel +Einfach + Doppelt.
Das Ergebnis sieht eigentlich gut aus, aber klappt nicht.
Wie sieht die Lösung aus??
Es gab noch ein weiteres Problem: Nicht alle Variablen vom Shelly UNI haben einen Wert. Einige kommen mit NULL bzw. "" daher. Das ist erledigt.
Aber die Anführungszeichen habe ich nicht so hinbekommen, dass die InfluxDB auch zufrieden ist.
Code: Alles auswählen
$aktuelleDaten["ZusatzQuery"] = "SH_UNI ";
$aktuelleDaten["ZusatzQuery"] .= "Externer_sensor="."'".$UNI_Daten["Externer_sensor"]."'";
$aktuelleDaten["ZusatzQuery"] .= ",Analogeingang=".$UNI_Daten["Analogeingang"];
$aktuelleDaten["ZusatzQuery"] .= ",Digitaleingang_1=".$UNI_Daten["Digitaleingang_1"];
Die Anführungszeichen bei Externer_sensor sind " ' " - Doppel +Einfach + Doppelt.
Das Ergebnis sieht eigentlich gut aus, aber klappt nicht.
Code: Alles auswählen
[ZusatzQuery] => SH_UNI Externer_sensor='C',Analogeingang=0,Digitaleingang_1=0,Digitaleingang_2=0,Digitaleingang_1_Event=0,Digitaleingang_2_Event=0,Ausgang_1=0,Ausgang_2=0,Temperatur_1=42.12,Temperatur_2=29.44,Temperatur_3=41.25 1677520441
[Produkt] => Shelly UNI
Michael
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
- Ulrich
- Administrator
- Beiträge: 5900
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 151 Mal
- Danksagung erhalten: 824 Mal
- Kontaktdaten:
Re: neuer Regler erstellt: Shelly UNI
So:
$aktuelleDaten["ZusatzQuery"] .= "Externer_sensor=\"".$UNI_Daten['Externer_sensor']."\"";
$aktuelleDaten["ZusatzQuery"] .= "Externer_sensor=\"".$UNI_Daten['Externer_sensor']."\"";
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 6
- Registriert: So 12. Feb 2023, 15:28
Re: neuer Regler erstellt: Shelly UNI
So hat das gut funktionier. Vielen dank für die Hilfe.
Ich habe die user_device.php mal angehängt.
Als Reglernummer habe ich 1000 verwendet.
Ich habe die user_device.php mal angehängt.
Als Reglernummer habe ich 1000 verwendet.
- Dateianhänge
-
- user_device.php
- (11.68 KiB) 132-mal heruntergeladen
Michael
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku
Kostal Plenticore 10, Shelly 3EM
geplant: Wallbox und DIY Akku