NEWS
Neuer Adapter 'systeminfo' auf Git und npm
-
die folgenden Einträge funktionieren für mich:
`{ "name": "System.Network.MB_[Received,Sent]", "type": "info", "source": "networkStats", "regexp": "[rx,tx]", "conv": "parseInt(@*(1000/1024/1024))/1000", "role": "number|MB", "write": "", "sched": "*:/1" }, { "name": "System.Network.FritzBox.[*]", "type": "info", "source": "inetChecksite(\"http://fritz.box\")", "regexp": "", "conv": "", "role": "", "write": "", "sched": "*:/1" }, { "name": "System.Network.Latency", "type": "info", "source": "inetLatency", "regexp": "", "conv": "", "role": "number|ms", "write": "", "sched": "*:/1" },` Auf welchem Rechner läuft der Host? Unter Windows gibt's leider nicht alles.
-
Hab vergessen, man kann die ganze Konfig mittels create JSON-Text ins unterste Textfeld exportieren, dort auch was dazufügen (ihr könnt das Textfeld vergrößern) und dann mit use config from text-box die geändere konfig übernehmen.
So könnt ihr hier gezeigte Beispiele einfügen.
Ja, ihr konnt den Inhalt der Textbox auch als Datei abspeichern (create json and download file) oder von einer Datei laden (Datei auswählen).
Sorry, bin sehr weit hinten mit den Übersetzungen und der Doku, hab' momentan nicht viel Zeit
-
Moin,
habe ich richtig verstanden, dass ich mit dem Adapter Zustände von Fremdsystemen per API abfragen und in Lokal verfügbare Datensätze übernehmen kann?
Weil dann wäre es für mich die eleganteste Art Stati von Aktoren auf meinem Fibaro HC2 in die Visu vom ioBroker zu übernehmen.
LG
Stefan
-
Poste doch mal ein Beispiel. Was für ein http request gibt welche Antwort und was davon willst du als wert haben?
-
Als Beispiel: „http://192.168.0.99:80/api/devices/26“. Mit diesem get request bekomme ich folgende Antwort. Da bräuchte ich z.B. Den Wert von „value“ hinter userDescription.
<code>{"id":26,"name":"Licht","roomID":5,"type":"com.fibaro.FGD212","baseType":"com.fibaro.multilevelSwitch","enabled":true,"visible":true,"isPlugin":false,"parentId":24,"remoteGatewayId":0,"interfaces":["deviceGrouping","energy","levelChange","light","power","zwave","zwaveAlarm","zwaveMultiChannelAssociation","zwaveProtection","zwaveSceneActivation"],"properties":{"parameters":[{"id":1,"lastReportedValue":15,"lastSetValue":15,"size":1,"value":15},{"id":2,"lastReportedValue":66,"lastSetValue":66,"size":1,"value":66},{"id":3,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":4,"lastReportedValue":0,"lastSetValue":0,"size":2,"value":0},{"id":5,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":6,"lastReportedValue":1,"lastSetValue":1,"size":2,"value":1},{"id":7,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":8,"lastReportedValue":5,"lastSetValue":5,"size":2,"value":5},{"id":9,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":10,"lastReportedValue":7200,"lastSetValue":7200,"size":2,"value":7200},{"id":11,"lastReportedValue":1,"lastSetValue":1,"size":2,"value":1},{"id":13,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":14,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":15,"lastReportedValue":30,"lastSetValue":30,"size":1,"value":30},{"id":16,"lastReportedValue":5,"lastSetValue":5,"size":2,"value":5},{"id":19,"lastReportedValue":20,"lastSetValue":20,"size":1,"value":20},{"id":20,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":21,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":22,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":23,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":24,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":25,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":26,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":27,"lastReportedValue":15,"lastSetValue":15,"size":1,"value":15},{"id":28,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":29,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":30,"lastReportedValue":2,"lastSetValue":2,"size":1,"value":2},{"id":31,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":32,"lastReportedValue":2,"lastSetValue":2,"size":1,"value":2},{"id":33,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":34,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":35,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":37,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":38,"lastReportedValue":255,"lastSetValue":255,"size":2,"value":255},{"id":39,"lastReportedValue":250,"lastSetValue":250,"size":2,"value":250},{"id":40,"lastReportedValue":3,"lastSetValue":3,"size":1,"value":3},{"id":41,"lastReportedValue":2,"lastSetValue":2,"size":1,"value":2},{"id":42,"lastReportedValue":3,"lastSetValue":3,"size":1,"value":3},{"id":43,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":44,"lastReportedValue":600,"lastSetValue":600,"size":2,"value":600},{"id":45,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":46,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":47,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":48,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":49,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":50,"lastReportedValue":10,"lastSetValue":10,"size":1,"value":10},{"id":52,"lastReportedValue":3600,"lastSetValue":3600,"size":2,"value":3600},{"id":53,"lastReportedValue":10,"lastSetValue":10,"size":2,"value":10},{"id":54,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":58,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":59,"lastReportedValue":0,"lastSetValue":0,"size":2,"value":0}],"pollingTimeSec":0,"zwaveCompany":"Fibargroup","zwaveInfo":"3,4,5","zwaveVersion":"3.5","RFProtectionState":"0","RFProtectionSupport":"3","alarmLevel":"0","alarmType":"0","configured":true,"dead":"false","deviceControlType":"23","deviceGroup":"[]","deviceGroupMaster":"0","deviceIcon":"1011","emailNotificationID":"0","emailNotificationType":"0","endPointId":"1","energy":"32.69","isLight":"true","liliOffCommand":"","liliOnCommand":"","localProtectionState":"0","localProtectionSupport":"5","log":"","logTemp":"","manufacturer":"","markAsDead":"true","model":"","nodeId":"7","parametersTemplate":"796","power":"0.00","productInfo":"1,15,1,2,16,0,3,5","protectionExclusiveControl":"0","protectionExclusiveControlSupport":"false","protectionState":"0","protectionTimeout":"0","protectionTimeoutSupport":"false","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","sceneActivation":"0","serialNumber":"h'0000000000001fec","showEnergy":"true","smsNotificationID":"0","smsNotificationType":"0","useTemplate":"true","userDescription":"","value":"0"},"actions":{"reconfigure":0,"reset":0,"sceneActivationSet":0,"setValue":1,"startLevelDecrease":0,"startLevelIncrease":0,"stopLevelChange":0,"turnOff":0,"turnOn":0},"created":1528261031,"modified":1528261031,"sortOrder":19}[/code]</code>
-
Sehr schade, dass dieser Thread kaum Beachtung findet. Bei so einem extrem umfangreichen Adapter wäre etwas Unterstützung extrem hilfreich. Gerade weil sich RegEx nicht einfach mal so erschließt. Zumindest mir gerade nicht
-
Gerade weil sich RegEx nicht einfach mal so erschließt `
Hast du mal auf http://www.Regex101.com versucht zu lernenGruß
Rainer
-
Habe bei Regex so einige Sachen durchgespielt.
Ebenso die Software Regex Magic 2. Normalerweise kann ich mich relativ schnell in eine Syntax einarbeiten, aber hier tue ich mich ungeahnt schwer.
-
Kann der systeminfo Adapter genauso so gut parsen wie der Parser Adapter?
Ich habe es nämlich mit dem Parser hinbekommen, aber nicht mit systeminfo Adapter. Wäre schön, wenn ich nur einen Adapter bräuchte, um Ressourcen zu schonen. Wahrscheinlich sind es nur die falschen Einstellungen!?:
URL:
https://www.finanzen.net/aktien/Delignit-Aktie
RegEx: nowrap">(\d{0,2}.\d{2})
-
Hallo, ich bin echt begeistert von diesem Adapter was er alles können soll
ABER ich muss auch gestehen "ich verstehe nur Bahnhof" :?
Ich möchte gerne den Akkuzustand und evetuell noch andere Daten eines Windows Tabs auslesen.
Geht das damit und wenn ja kann mir einer erklären wie :?: :?:
Würde mich über jede Antwort freuen.
Gruß Lars
-
Komme mit der Spalte Schedule schon mal nicht zurecht verstehe die werte da nicht so recht
Wie zB "*:/2" Wann wird das ausgeführt?
Wollte ja nur mal die temperatur vergleichen mit dem rpi2.0 Adapter und dem Sysinfo.
Aber agesehen von der Formatirung die nicht passt beim Sisinfo stimmt sie nie zusammen
(weder mit dem rpi2.0 Adapter noch mit dem was im File "/sys/class/thermal/thermal_zone0/temp" steht.
Vermute wird seltener ausgelsen. Aber wie gesagt versteh die Schedule-Spalte einfach nicht
Hoffe jemand kann mir die erklären.
-
Komme mit der Spalte Schedule schon mal nicht zurecht verstehe die werte da nicht so recht `
Hast du dir schon die Doku dazu https://github.com/frankjoke/ioBroker.s … /README.md angesehen?Dort wird auch die Parametrierung des Schedules ganz gut erklärt.
Man kann die übliche Cron-Notierung (wie z.B. */2) nutzen. Die ist z.B. unter https://github.com/node-schedule/node-schedule erklärt.
Oder eine spezielle time syntax, die im Adapter https://github.com/frankjoke/ioBroker.s ... /README.md beschrieben wird
HTH
-
Viel klarer ist es mir gerade nicht
Mein englisch ist auch nicht das beste leider.
":/2" ist also das selbe wie "/2" ?
-
Hallo,
ich schaue mir gerade diesen Adapter an und damit ich diesen verstehe, fange ich mal mit was einfachem an:
Wie kann und bekomme ich die Daten darein, was ich zB mit "cat /proc/cpuinfo" an Infos bekomme ?
Ich weiss noch nichtmal im Ansatz, was ich tun muss (trotz readme).
DANKE im voraus
-
Bei mir funktioniert das Abfragen der Währungskurse nicht, auch nicht mit der Beispielkonfiguration. Ich bekomme folgende Fehlermeldung:
Error: Unexpected close tag Line: 5 Column: 7 Char: > in doPoll for Currency.[currency/rate]
Hat das jemand am Laufen? Bind für jeden Tipp dankbar.
-
@Lars89 sagte in Neuer Adapter 'systeminfo' auf Git und npm:
Hallo, ich bin echt begeistert von diesem Adapter was er alles können soll
ABER ich muss auch gestehen "ich verstehe nur Bahnhof" :?
Ich möchte gerne den Akkuzustand und evetuell noch andere Daten eines Windows Tabs auslesen.
Geht das damit und wenn ja kann mir einer erklären wie :?: :?:
Würde mich über jede Antwort freuen.
Gruß Lars
Hi Lars,
konntest du dein Vorhaben umsetzen?
Kann mir eventuell jemand sagen wie ich diesen JSON String denn ich über den Systeminfo Adapter bekomme nach diesen Begriffen filtern kann so das die einzelnen Objekte dann Datenpunkte erhalten?
{"hasbattery":true,"cyclecount":0,"ischarging":true,"maxcapacity":0,"currentcapacity":0,"percent":76,"timeremaining":-1,"acconnected":true,"type":"","model":"","manufacturer":"","serial":""}
Ich benötige
ischarging percent acconnected
Danke für eure Hilfe
-
@wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:
@Lars89 sagte in Neuer Adapter 'systeminfo' auf Git und npm:
{"hasbattery":true,"cyclecount":0,"ischarging":true,"maxcapacity":0,"currentcapacity":0,"percent":76,"timeremaining":-1,"acconnected":true,"type":"","model":"","manufacturer":"","serial":""}
Ich benötige
ischarging percent acconnected
Danke für eure Hilfe
Hallo, hab mal einen Test gemacht und dein json in eine Datei gestellt und zwei Einträge generiert:
{ "name": "TestJson.ischarging", "type": "file", "source": "/home/pi/jsontest.json", "regexp": "..ischarging", "conv": "json", "role": "switch", "write": "", "sched": "*:/1", } und { "name": "TestJson.percent", "type": "file", "source": "/home/pi/jsontest.json", "regexp": "..percent", "conv": "json", "role": "number|%", "write": "", "sched": "*:/1", }
Das hat mir die zwei dann gut angezeigt!
-
@frankjoke Hallo Frank,
kannst du mir als Javascript DAU sagen was das jetzt bedeutet? Hast du das über Filter in dem Adapter gelöst oder ein extra JS Script angelegt?
-
@wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:
@frankjoke Hallo Frank,
kannst du mir als Javascript DAU sagen was das jetzt bedeutet? Hast du das über Filter in dem Adapter gelöst oder ein extra JS Script angelegt?
Nein, ich hab nur in der Konfig Zeilen eingefügt, z.B für percent:
{ "name": "TestJson.percent", "type": "file", "source": "/home/pi/jsontest.json", "regexp": "..percent", "conv": "json", "role": "number|%", "write": "", "sched": "*:/1", }
D.H einen Eintrag erzeugt und dortz unter Name: TestJson.percent
unter Type: 'file' selektiert,
unter Source: /home/pi/jsontest.json
unter regexp: ..percent
unter conv: json
.....
Bei dir muss natürlich unter type und source was anderes stehen da du die Daten ja nicht aus meiner Datei lädst!DFas schaut dann so aus: (ganz unten)
p.s.: das
..percent
bedeutet dass er irgendwo im JSON den Namenpercent
suchen soll und den Wert ausgeben soll. Sind mehrerepercents
drinnen dann würde er ein Array aus allen erzeugen! -
Hallo Frank,
Danke das hat mir sehr geholfen.
Habe es jetzt so umgesetzt:
Und erhalte dadurch diese Datenpunkte:
Hast du zufällig noch einen Tipp wie ich den Filter erweitern kann damit er mir die "[]" bei Temp_OG_cores" nicht mehr anzeigt?
Danke und Gruß
Mirko