SID bestimmen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

tobox
Beiträge: 50
Registriert: 04.06.2018, 10:31
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

SID bestimmen

Beitrag von tobox » 26.03.2021, 09:51

Wie kann ich eine Seite (z.B. http://ccu3/tools/devconfig.cgi?cmd=sho ... hCBhvsXDav@) automatisch per Script (wget, curl o.ä.) abholen, um die Werte zu analysieren oder zu loggen? Manuell ist das relativ einfach, wenn ich mich im Browser einlogge und die sid aus der URL kopiere, aber wie kann ich eine SID auf der Kommandozeile erstellen, sprich, wie kann ich mich mit wget auf der CCU einloggen?

Danke schonmal im Voraus, ich vermute, das Problem hatten schon mehrere - aber eine Lösung habe ich trotz längerer Suche nicht gefunden...
@Firma: 1 x RaspberryMatic Beta @ Proxmox (geht mangels Funk nicht)
@Firma: 1 x RaspberryMatic Beta @ CCU3 + 2x HMIP-HAP als LAN-Gateways
@Home: FHEM + VCCU + HM-LGW + HM-LAN
@Home: Migration von FHEM->Homeassistant

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: SID bestimmen

Beitrag von Xel66 » 26.03.2021, 12:15

Alle diese Daten, die dort dargestellt werden, sind als Datenpunkte auf der CCU vorhanden und können auch durch diese ohne jeglichen Umweg über ein Webinterface z.B. per Script ausgelesen werden. Dein Vorgehen ist unnötig kompliziert. Und ich glaube nicht, dass dieses Problem schon mehrere hatten, weil man selten so kompliziert denkt. Und die dort dargestellten Werte sind sowieso Hausnummern.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

tobox
Beiträge: 50
Registriert: 04.06.2018, 10:31
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: SID bestimmen

Beitrag von tobox » 30.03.2021, 16:19

Sorry für die späte Antwort, ich habe irgendwie keine Benachrichtigungs-Email bekommen...

Also es ist so, ich kann gewisse RSSI_DEVICE und RSSI_PEER Werte in FHEM über die normale CCU3-Anbindung auslesen, aber ich bekomme nur dieselben Werte die auch in der CCU3-GUI angezeigt werden. Wenn man ein HM-CFG-LAN als zusätzliches Gateway benutzt, bekommt man aber überall nur zufällig irgendwelche Werte angezeigt. Die devconfig.cgi ist meiner Meinung nach die _einzige_ Stelle, an der alles korrekt dargestellt wird. Man hat dort für jedes Homematic-Gerät die RSSI-Werte für jede Antenne separat angezeigt.

Hat noch jemand eine Idee?
@Firma: 1 x RaspberryMatic Beta @ Proxmox (geht mangels Funk nicht)
@Firma: 1 x RaspberryMatic Beta @ CCU3 + 2x HMIP-HAP als LAN-Gateways
@Home: FHEM + VCCU + HM-LGW + HM-LAN
@Home: Migration von FHEM->Homeassistant

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: SID bestimmen

Beitrag von Xel66 » 30.03.2021, 16:37

tobox hat geschrieben:
30.03.2021, 16:19
...bekommt man aber überall nur zufällig irgendwelche Werte angezeigt.
Das "überall" ist aber immer nur der Inhalt des gerätegebundenen Datenpunktes. Wo es in der WebUI dargestellt wird, ist schnurzegal. Es ist der gleiche Datenpunkt. Also kann man sich auch gleich den Datenpunkt anzeigen, zusenden, vorlesen oder was auch immer lassen.

Nur weil diese Aufbereitung es auf einer gemeinsamen Seite anzeigen kann (weil es eben diese Datenpunkte ausliest), ist noch lange nicht gesagt, dass man eine solche Seite durch den Webserver zusammenstellen, aufbereiten, auslesen, parsen muss, um nachher doch wieder den gleichen Inhalt zu erhalten, der auch mit der direkten Abfrage der Datenpunkte ohne den aufwändigen Schnichschnack zu erhalten wäre. Dein Vorhaben ist vergleichbar, als wenn Du Dir eine Visu baust, um z.B. die Daten Deiner Solaranlage über ein Tablet anzeigen zu lassen, und für die Verwendung als Push oder Datenquelle für die weitere Verarbeitung, nicht die Datenquelle ausliest, sondern die auf Deinem Tablet dargestellte Seite. Komplizierter könnte man es nur noch machen, wenn Du die Daten Deiner CCU über eine im Internet gehostete Seite einliest.
tobox hat geschrieben:
30.03.2021, 16:19
Hat noch jemand eine Idee?
Vermutlich werden viele Anwender mir zustimmen, dass es zielführender ist, die Datenquelle direkt über dokumentierte Befehle auszulesen als solch eine von-hinten-durch-die-Brust-ins-Auge-Lösung zusammenzuklöppeln. Zumal die Datenpunkte problemlos mit Bordmitteln auszulesen sind. Man muss sich nur einmalig die Mühe machen, diese zusammenzustellen.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

tobox
Beiträge: 50
Registriert: 04.06.2018, 10:31
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: SID bestimmen

Beitrag von tobox » 31.03.2021, 07:19

Xel66,

vielen Dank für Deine Geduld, aber ich komme nicht weiter. Ich weiß was Du meinst, und habe das damals auch schon mal ausprobiert. Wenn ich mir alle Datenpunkte eines Sensors anzeige, bekomme ich in etwas sowas:

Code: Alles auswählen

string aktor = "MEQ1658832";
! =============================================================================
string index;
string datenpunkte = dom.GetObject(ID_DATAPOINTS).EnumUsedNames();
foreach (index, datenpunkte) 
{
var sserial = (index.StrValueByIndex(":",0).StrValueByIndex(".",1));
if (sserial == aktor) 
{
WriteLine(index #": " # dom.GetObject(index).Value());
  
}
}
 
Ich bekomme immer nur einen RSSI-Wert statt den Werten für CCU3 und Gateway separat. Wo muss ich denn suchen, um die richtigen Datenpunkte zu finden?

Code: Alles auswählen

BidCos-RF.MEQ1658832:0.AES_KEY: 0
BidCos-RF.MEQ1658832:0.CONFIG_PENDING: false
BidCos-RF.MEQ1658832:0.DEVICE_IN_BOOTLOADER: false
BidCos-RF.MEQ1658832:0.LOWBAT: false
BidCos-RF.MEQ1658832:0.RSSI_DEVICE: 1
BidCos-RF.MEQ1658832:0.RSSI_PEER: 196
BidCos-RF.MEQ1658832:0.STICKY_UNREACH: false
BidCos-RF.MEQ1658832:0.UNREACH: false
BidCos-RF.MEQ1658832:0.UPDATE_PENDING: false
BidCos-RF.MEQ1658832:1.ERROR: 0
BidCos-RF.MEQ1658832:1.LOWBAT: false
BidCos-RF.MEQ1658832:1.STATE: false
Das hier sind die Werte laut DEVCONFIG, die mich eigentlich interessieren:
Screenshot_20210331_071839.png
Screenshot_20210331_071839.png (13.28 KiB) 662 mal betrachtet
@Firma: 1 x RaspberryMatic Beta @ Proxmox (geht mangels Funk nicht)
@Firma: 1 x RaspberryMatic Beta @ CCU3 + 2x HMIP-HAP als LAN-Gateways
@Home: FHEM + VCCU + HM-LGW + HM-LAN
@Home: Migration von FHEM->Homeassistant

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: SID bestimmen

Beitrag von Xel66 » 31.03.2021, 11:21

Die Datenpunkte hast Du ja schon mal (BidCos-RF.MEQ1658832:0.RSSI_DEVICE und BidCos-RF.MEQ1658832:0.RSSI_PEER). Diese hatte ich auch im Hinterkopf. Nur scheinen sie nicht mit sinnvollem Inhalt gefüllt zu werden, denn wenn man sie sich anschaut, tragen sie einen Timestamp vom letzten Systemstart. Laut tcl-Script unter /www/tools/devconfig.cgi (das Script, welches Dir die RSSI-Seite zusammenbaut) werden auch diese Datenpunkte ausgelesen (catch { set rssi_device [xmlrpc $url getValue "$dev_descr(ADDRESS):0" "RSSI_DEVICE"] } catch { set rssi_peer [xmlrpc $url getValue "$dev_descr(ADDRESS):0" "RSSI_PEER"] }. Muss man mal das Script tiefer analysieren, woher es dann die aktuellen Daten bezieht. Aus den angegebenen Datenpunkten eher nicht. Zumindest scheinen sie für das tcl-Script erreichbar. Dann müssten sie es auch für ein HM-Script sein.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch


tobox
Beiträge: 50
Registriert: 04.06.2018, 10:31
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: SID bestimmen

Beitrag von tobox » 31.03.2021, 11:39

Baxxy hat geschrieben:
31.03.2021, 11:36
War da nicht mal was mit "256 abziehen" von den Datenpunkt-Werten um auf die negative db Anzeige zu kommen?
Sowas hatte ich auch im Hinterkopf, würde im angegeben Beispiel ja auch passen: 196 - 256 = -60, Angezeigt -59/-64. Wobei mein eigentliches Problem ist, dass ich nur einen Wert bekomme, und zwar meistens den falschen.
@Firma: 1 x RaspberryMatic Beta @ Proxmox (geht mangels Funk nicht)
@Firma: 1 x RaspberryMatic Beta @ CCU3 + 2x HMIP-HAP als LAN-Gateways
@Home: FHEM + VCCU + HM-LGW + HM-LAN
@Home: Migration von FHEM->Homeassistant

MichaelN
Beiträge: 9655
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: SID bestimmen

Beitrag von MichaelN » 31.03.2021, 11:39

Ich tracke diese Datenpunkte in CCU-Historian. Die werden also normalerweise aktualisiert. PEER allerdings sehr selten.
Unbenannt.JPG
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Xel66
Beiträge: 14149
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: SID bestimmen

Beitrag von Xel66 » 31.03.2021, 11:49

Ja, solche Taschenspielertricks (-256dBm) habe ich auch schon vermutet. Bei der Darstellung der letzten bekannten Kommunikation wenden die ja ähnliches an (-128dBm). Das erklärt aber immer noch nicht, warum die Timestamps dann nicht aktualisiert werden (zumindest bei denen, die ich mir auf meinem System angeschaut habe). Müsste man sich noch mal näher anschauen.

Gurß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Antworten

Zurück zu „RaspberryMatic“