NEWS
script Portainer Api V3.3 - inkl. html Tabelle
-
Edit: Header, Text, Scripte :). vielen Dank an alle die mir hier geholfen haben!
Hallo,
wie bekomme ich die Daten aus Portainer in den iobroker?Edit:
Hier das, was chatgpt nach einigen Versuchen mir ausgegeben hat, das Javascript fragt die Portainer-Api in regelmaessigen Abstaenden ab, man kann Docker Container starten/stoppen, bekommt bei Aenderungen eine Msg per Discord, und es werden Cpu, Ram, Uptime, Image, IP, Port angezeigt:Edit2:
Screenshot von den Objects:
Edit3:
Script um eine html Tabelle aus den States zu erzeugen, Datenpunkte und Container bitte anpassen:
wurde alles in ein Script gepackt, ist einfacher.Screenshot: Tabelle
Screenshot: Mobile Ansicht, 2 Spaltig (konfigurierbar)
-
@ilovegym sagte in script Dockermon Api:
wie zerlege ich denn am besten das json
Ich mache das erstmal immer mit dem "JSON Path Finder":
vom Dockermon-Container
Geht das nicht auch direkt mit dem Portainer-API?
vor allem, wenn ein Container weg oder dazu kommt.. ?
In Zabbix geht das mit JSONPath, da kann man nach bestimmten Einträgen suchen.
Geht sowas nicht auch mit JSONATA? Da ist vermutlich @mickym der Fachmann -
Warum auch immer klappt blockly grad bei mir nicht und darf keine Variablen anlegen.....
Du kannst aus der Blockly eine Liste erstellen und dann mit einer Schleife durcharbeiten.
-
hab mal meinen "Sheldon"
gefragt (Chatgpt), und das kam zum schluss raus, habs noch n bisserl verfeinert, da die ersten Ansaetze nix waren..
Das Script fragt direkt die Portainer-Api ab, einen Api-Key braucht man nicht und legt die Datenpunkte fuer Status, Ram, CPU und uptime im gewuenschten Ordner an.
Man kann den/die Container starten/stoppen.Script in den ersten Beitrag verschoben, dieser wird immer aktualisiert.
-
Hat sich erledigt.
Auch meine Nachricht. -
alles gut, bin gerade am erweitern / optimieren des Scripts..
-
Bei mir möchte es auch nicht ganz.
avascript.0 14:28:18.301 info Stopping script script.js.Eigene_Scripte.Portainer javascript.0 14:28:18.359 info Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) javascript.0 14:28:18.382 info registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 14:28:18.470 error ❌ Fehler beim Parsen der Containerdaten: containers.forEach is not a function
-
endpointid richtig? muss nicht 1 sein,bei ist es 2
-
@ilovegym
Hab 2 getestet. Dann kommt keinen token erhalten. Dann wieder 1. Kommt jetzt auch keinen token erhalten. -
hmm vielleicht Portainer wegen zuvielen falschen Zugriffen geblockt, war bei mir auch am Anfang, als das Script noch fehler hatte.. einfach Portainer neu starten...
-
Die ganzen warns waren mit id 2, der Fehler beim Pharsen mit 1.
1.8.2025, 14:43:04.923 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:43:05.015 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:43:05.037 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:43:05.045 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:43:54.160 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:43:54.208 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:43:54.230 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:43:54.239 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:43:58.696 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:44:01.907 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:44:01.913 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:44:01.918 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:44:15.888 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:44:15.978 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:44:15.986 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:44:15.994 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:45:00.067 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:46:35.734 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:46:35.824 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:46:35.844 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:46:35.851 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:52:03.359 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:52:03.450 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:52:03.474 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:52:03.481 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:52:16.268 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:52:16.358 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:52:16.377 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:52:16.395 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 14:52:29.449 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 14:52:29.537 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 14:52:29.561 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 14:52:29.570 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Kein Token erhalten 1.8.2025, 15:01:54.921 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 15:01:55.010 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 15:01:55.023 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 15:01:55.205 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:55.205 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:55.206 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:55.206 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:55.206 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:55.208 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:55.208 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:55.208 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:55.208 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:55.209 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:55.209 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:55.209 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:56.195 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:56.196 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.205 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.206 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.211 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.213 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.218 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.224 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.231 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.233 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.235 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.236 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.236 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.237 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.240 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.240 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:01:57.241 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:96:25 1.8.2025, 15:01:57.241 [warn ]: javascript.0 (1615949) at script.js.Eigene_Scripte.Portainer:99:25 1.8.2025, 15:02:14.020 [info ]: javascript.0 (1615949) Stopping script script.js.Eigene_Scripte.Portainer 1.8.2025, 15:02:14.111 [info ]: javascript.0 (1615949) Start JavaScript script.js.Eigene_Scripte.Portainer (Javascript/js) 1.8.2025, 15:02:14.130 [info ]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: registered 1 subscription, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 1.8.2025, 15:02:14.221 [error]: javascript.0 (1615949) script.js.Eigene_Scripte.Portainer: ❌ Fehler beim Parsen der Containerdaten: containers.forEach is not a function
Portainer 2.27.9
Edit
Evtl kann man den Endpoint automatisch ausfüllen, wenn man diesen leer lässt.curl -H "Authorization: Bearer <JWT>" \ http://10.68.xx.zzz:9000/api/endpoints
und dann den ersten falls es mehrere gibt.
-
Die neue Version läuft.
Top.Was ich mir wünschen würde:
- Discord deaktivieren zu können (hab es mir einfach unten rausgelöscht).
- Ggf Telegram hinzufügen (natürlich auch deaktivierbar)
- Created auch als TS (Da schaue ich, wann das letzte Update war um Container zu finden die nicht mehr gepflegt werden)
EDIT
Soll control die Container updaten?
Falls ja klappt es bei mir nicht.EDIT 2
Wenn ich control in einem Container drücke, startet meine JS Instanz neu. -
Control soll den Container starten / stoppen, das hat bei mir funktioniert..
Ich mach spätestens am Montag weiter..
Vielen Dank für das Testen!
-
Hi David,
heute ist Montag und wie versprochen, eine neue Version, aktuell V3.3 - ist alles in ein Script gekommen und es gibt jede Menge neue Optionen, siehe ChangelogViel Spass damit! (aktuelles Script im ersten Beitrag)