Ja. Ich setze so gut wie immer eine lokal vorgehaltene Liste ein weil das "AnalyzerXS"-Gerät (Laptop) nicht auf das Zentralennetzwerk zugreifen kann und soll.hbrockmann hat geschrieben: ↑24.11.2020, 16:45hat jemand schon mal erfolgreich mit einer manuell angegebenen liste gearbeitet?
AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Moderator: Co-Administratoren
- Baxxy
- Beiträge: 10847
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 610 Mal
- Danksagung erhalten: 2229 Mal
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 32
- Registriert: 22.01.2013, 17:21
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
danke, datei hatte nach dem speichern das falsche format..
im korrekten json format klappt es jetzt..
im korrekten json format klappt es jetzt..
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Irgendwie bekomme ich bei mir die Devicelist nicht geladen...
Fehlermeldung:
Error fetching device list: Error: Invalid XML
Das Script/Programm auf der CCU habe ich wie beschrieben angelegt mit:
Das Script scheint aber nicht zu passen, weshalb die Variable nicht befüllt wird...
Fehleranalyse des Scripts ergibt:
Hat jemand einen Tipp?
brauche ich noch ein Plugin auf der CCU?
Fehlermeldung:
Error fetching device list: Error: Invalid XML
Das Script/Programm auf der CCU habe ich wie beschrieben angelegt mit:
Code: Alles auswählen
string svDevList = "AskSinAnalyzerDevList";
string svAlarm = "AskSinAnalyzerAlarm";
string HmIPBroadcastName = "HmIP Broadcast";
string HmRFBroadcastName = "HMRF Broadcast";
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
!Alarmvariable anlegen
object alarmObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svAlarm);
if(!alarmObj) {
alarmObj = dom.CreateObject(OT_ALARMDP);
alarmObj.Name(svAlarm);
alarmObj.ValueType(ivtBinary);
alarmObj.ValueSubType(istAlarm);
alarmObj.ValueName0("nicht ausgelöst");
alarmObj.ValueName1("ausgelöst");
alarmObj.ValueUnit("");
alarmObj.AlType(atSystem);
alarmObj.AlArm(true);
alarmObj.AlSetBinaryCondition();
alarmObj.State(false);
svObjects.Add(alarmObj.ID());
dom.RTUpdate(0);
WriteLine("Alarm-Variable "#svAlarm#" angelegt.\n");
} else {
WriteLine("Alarm-Variable "#svAlarm#" existiert.\n");
}
!Systemvariable anlegen, falls sie nicht bereits existiert
object svObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svDevList);
if (!svObj){
svObj = dom.CreateObject(OT_VARDP);
svObj.Name(svDevList);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("used by AskSinAnalyzer");
svObj.ValueUnit("");
svObj.State("");
svObj.Internal(false);
svObj.Visible(false);
svObjects.Add(svObj.ID());
dom.RTUpdate(0);
WriteLine("Variable "#svDevList#" angelegt.\n");
} else {
WriteLine("Variable "#svDevList#" existiert.\n");
}
!phys. Zentralen-Adresse HmIP auslesen
string stdout;
string stderr;
system.Exec("echo $((0x`grep Adapter.1.Address /etc/config/hmip_address.conf|awk -F'\=' {'print $2'}`))", &stdout, &stderr);
WriteLine(stdout);
integer HmIPCentral = stdout.ToInteger();
!alle Geräteadressen, Seriennummer und Namen erfassen
integer tstamp = system.Date("%F %X").ToTime().ToInteger();
string sDevId;
string data;
string metaData;
string result = "{\"created_at\":"#tstamp#",\"devices\":[{\"address\":15728641,\"serial\":\"00000000000000\",\"name\":\""#HmIPBroadcastName#"\"},{\"address\":0,\"serial\":\"0000000000\",\"name\":\""#HmRFBroadcastName#"\"},";
foreach(sDevId, root.Devices().EnumUsedIDs())
{
var dev= dom.GetObject(sDevId);
if ( true == dev.ReadyConfig() )
{
metaData = dev.MetaData("DEVDESC");
foreach (data, metaData.Split(",")) {
if (data.Substr(0,10) == "RF_ADDRESS") {
data = data.Replace("RF_ADDRESS:","");
if (data != "0") {
string ser = dev.Address();
if ((HmIPCentral > 0) && (data == HmIPCentral)) { ser = "HmIP-RF"; }
result = result # "{\"address\":" #data#",\"serial\":\""#ser#"\",\"name\":\""#dev.Name()#"\"},";
}
}
}
}
}
result = result # "]}";
result = result.Replace("},]","}]");
dom.GetObject(ID_SYSTEM_VARIABLES).Get(svDevList).State(result);
Write(result);
!Abfrage im Browser mit http://ccu2:8181/ret.exe?ret=dom.GetObject(ID_SYSTEM_VARIABLES).Get("AskSinAnalyzerDevList").Value()
Das Script scheint aber nicht zu passen, weshalb die Variable nicht befüllt wird...
Fehleranalyse des Scripts ergibt:
Code: Alles auswählen
Error 1 at row 82 col 29 near ^("RF_ADDRESS:","");
if (data != "0") {
string ser = dev.Address();
Error 1 at row 82 col 29 near ^("RF_ADDRESS:","");
if (data != "0") {
string ser = dev.Address();
Error 1 at row 82 col 29 near ^("RF_ADDRESS:","");
if (data != "0") {
string ser = dev.Address();
Error 1 at row 82 col 29 near ^("RF_ADDRESS:","");
if (data != "0") {
string ser = dev.Address();
Error 1 at row 82 col 29 near ^("RF_ADDRESS:","");
if (data != "0") {
string ser = dev.Address();
......
brauche ich noch ein Plugin auf der CCU?
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Nachtrag:
Fehler gefunden:
die Funktion "Replace" im Script wird nicht von der CCU1 unterstützt...
gemäß Scriptdoku:
"Ersetzen von Teilzeilenfolgen – Replace (unterstützt ab 2.29.22)"
Da muss ich das Script wohl umschreiben
Fehler gefunden:
die Funktion "Replace" im Script wird nicht von der CCU1 unterstützt...
gemäß Scriptdoku:
"Ersetzen von Teilzeilenfolgen – Replace (unterstützt ab 2.29.22)"
Da muss ich das Script wohl umschreiben
Zuletzt geändert von DJB am 30.12.2020, 12:49, insgesamt 1-mal geändert.
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
So müsste das Script auch für eine CCU1 klappen... kann ja gerne noch jemand ausprobieren außer mir...
Code: Alles auswählen
string svDevList = "AskSinAnalyzerDevList";
string svAlarm = "AskSinAnalyzerAlarm";
string HmIPBroadcastName = "HmIP Broadcast";
string HmRFBroadcastName = "HMRF Broadcast";
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
!Alarmvariable anlegen
object alarmObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svAlarm);
if(!alarmObj) {
alarmObj = dom.CreateObject(OT_ALARMDP);
alarmObj.Name(svAlarm);
alarmObj.ValueType(ivtBinary);
alarmObj.ValueSubType(istAlarm);
alarmObj.ValueName0("nicht ausgelöst");
alarmObj.ValueName1("ausgelöst");
alarmObj.ValueUnit("");
alarmObj.AlType(atSystem);
alarmObj.AlArm(true);
alarmObj.AlSetBinaryCondition();
alarmObj.State(false);
svObjects.Add(alarmObj.ID());
dom.RTUpdate(0);
WriteLine("Alarm-Variable "#svAlarm#" angelegt.\n");
} else {
WriteLine("Alarm-Variable "#svAlarm#" existiert.\n");
}
!Systemvariable anlegen, falls sie nicht bereits existiert
object svObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svDevList);
if (!svObj){
svObj = dom.CreateObject(OT_VARDP);
svObj.Name(svDevList);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("used by AskSinAnalyzer");
svObj.ValueUnit("");
svObj.State("");
svObj.Internal(false);
svObj.Visible(false);
svObjects.Add(svObj.ID());
dom.RTUpdate(0);
WriteLine("Variable "#svDevList#" angelegt.\n");
} else {
WriteLine("Variable "#svDevList#" existiert.\n");
}
!phys. Zentralen-Adresse HmIP auslesen
string stdout;
string stderr;
system.Exec("echo $((0x`grep Adapter.1.Address /etc/config/hmip_address.conf|awk -F'\=' {'print $2'}`))", &stdout, &stderr);
WriteLine(stdout);
integer HmIPCentral = stdout.ToInteger();
!alle Geräteadressen, Seriennummer und Namen erfassen
integer tstamp = system.Date("%F %X").ToTime().ToInteger();
string sDevId;
string data;
string metaData;
string result = "{\"created_at\":"#tstamp#",\"devices\":[{\"address\":15728641,\"serial\":\"00000000000000\",\"name\":\""#HmIPBroadcastName#"\"},{\"address\":0,\"serial\":\"0000000000\",\"name\":\""#HmRFBroadcastName#"\"},";
foreach(sDevId, root.Devices().EnumUsedIDs())
{
var dev= dom.GetObject(sDevId);
if ( true == dev.ReadyConfig() )
{
metaData = dev.MetaData("DEVDESC");
foreach (data, metaData.Split(",")) {
if (data.Substr(0,10) == "RF_ADDRESS") {
data = data.Substr(11,8); !angepasst fuer CCU1
if (data != "0") {
string ser = dev.Address();
if ((HmIPCentral > 0) && (data == HmIPCentral)) { ser = "HmIP-RF"; }
result = result # "{\"address\":" #data#",\"serial\":\""#ser#"\",\"name\":\""#dev.Name()#"\"},";
}
}
}
}
}
result = result # "]}";
integer length = result.Length() - 3;
result = result.Substr(0,length)#"]}"; !angepasst fuer CCU1
dom.GetObject(ID_SYSTEM_VARIABLES).Get(svDevList).State(result);
Write(result);
!Abfrage im Browser mit http://<ip_der_ccu>:8181/ret.exe?ret=dom.GetObject(ID_SYSTEM_VARIABLES).Get("AskSinAnalyzerDevList").Value()
Zuletzt geändert von DJB am 30.12.2020, 12:48, insgesamt 1-mal geändert.
-
- Beiträge: 84
- Registriert: 12.05.2016, 11:16
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 3 Mal
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Hallo Zusammen,
ich versuche schon seit heute morgen meinen NanoCUL (Produktlink: https://ebay.us/Fau3fs) lt. der Anleitung aus diesem Thread umzuflashen. Leider ohne Erfolg.
Ich habe alle Schritte aus der Anleitung befolgt.
Bei Schritt 14 (Sketch hochladen) kommt immer eine Fehlermeldung (sh. Anhang)
Die aktuellen Einstellungen des Arduino, die Einstellungen der Werkzeuge und die Ansicht des Geräte-Managers unter Windows sind im Anhang.
Hat jemand eine Idee warum der Sketch nicht hochgeladen werden kann und stattdessen eine Fehlermeldung kommt? Muss ggf. ein anderer Programmer ausgewählt werden?
Vielen Dank!
ich versuche schon seit heute morgen meinen NanoCUL (Produktlink: https://ebay.us/Fau3fs) lt. der Anleitung aus diesem Thread umzuflashen. Leider ohne Erfolg.
Ich habe alle Schritte aus der Anleitung befolgt.
Bei Schritt 14 (Sketch hochladen) kommt immer eine Fehlermeldung (sh. Anhang)
Die aktuellen Einstellungen des Arduino, die Einstellungen der Werkzeuge und die Ansicht des Geräte-Managers unter Windows sind im Anhang.
Hat jemand eine Idee warum der Sketch nicht hochgeladen werden kann und stattdessen eine Fehlermeldung kommt? Muss ggf. ein anderer Programmer ausgewählt werden?
Vielen Dank!
- Dateianhänge
-
- Ansicht Gerätemanager
- gerätemanager.PNG (10.15 KiB) 1297 mal betrachtet
-
- log_nano.txt
- Fehlermeldung nach Hochladen
- (1.81 KiB) 52-mal heruntergeladen
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Versuche mal mit der Einstellung Bootloader zu spielen, bei dir aktuell (Old Bootloader)
je nach verbauten USB/Seriell Chip muss man die Bootloader Einstellung wechseln, das war meine Erfahrung.
je nach verbauten USB/Seriell Chip muss man die Bootloader Einstellung wechseln, das war meine Erfahrung.
Viele Grüße,
Tom
Tom
-
- Beiträge: 84
- Registriert: 12.05.2016, 11:16
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 3 Mal
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Hallo Tom,
super, vielen Dank! Das war das Problem. Ich hatte den Bootloader auf ATmega328P umgestellt und schon gings!
Ich konnte den Test wie in der Anleitung beschrieben erfolgreich durchführen und den CUL in den AskSin Analyzer XS einbinden.
Es werden nun Telegramme empfangen und angezeigt.
Allerdings gibt es oben eine Fehlermeldung "Error fetching device list: TypeError: Cannot read property 'devices' of null" (sh. Anhang)
Weiß evtl. jemand woran das liegt und wie man das beheben kann?
Und noch eine kurze Verständnisfrage: bei "von" und bei "an" wird jeweils eine Zahlenfolge/Ziffernfolge ausgegeben. Ich gehe davon aus, dass dahinter ein Aktor/Sensor steckt? Aber welcher? Oder hängt das mit der o.g. Fehlermeldung (error fetching device list) zusammen?
Vielen Dank!
super, vielen Dank! Das war das Problem. Ich hatte den Bootloader auf ATmega328P umgestellt und schon gings!
Ich konnte den Test wie in der Anleitung beschrieben erfolgreich durchführen und den CUL in den AskSin Analyzer XS einbinden.
Es werden nun Telegramme empfangen und angezeigt.
Allerdings gibt es oben eine Fehlermeldung "Error fetching device list: TypeError: Cannot read property 'devices' of null" (sh. Anhang)
Weiß evtl. jemand woran das liegt und wie man das beheben kann?
Und noch eine kurze Verständnisfrage: bei "von" und bei "an" wird jeweils eine Zahlenfolge/Ziffernfolge ausgegeben. Ich gehe davon aus, dass dahinter ein Aktor/Sensor steckt? Aber welcher? Oder hängt das mit der o.g. Fehlermeldung (error fetching device list) zusammen?
Vielen Dank!
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: AskSin Analyzer XS - Der Analyzer als Desktop-App ohne ESP
Hast du die Systemvariable auf der CCU angelegt und befüllt?
https://github.com/jp112sdl/AskSinAnaly ... erstützung