@djmarc75 said in adapter ical - add new calendar via command line (struggle):
@theskyisn0tthelimit sagte in adapter ical - add new calendar via command line (struggle):
Ich habe mir ein Script geschrieben
bitte zeigen
@theskyisn0tthelimit sagte in adapter ical - add new calendar via command line (struggle):
installiert mir alle gewünschten Programme auf dem Pi
also immer aktuelle Versionen von diesen "Programmen" ?
@theskyisn0tthelimit sagte in adapter ical - add new calendar via command line (struggle):
incl. der gewünschten Adapter
also auch immer die aktuellsten Versionen ?
@theskyisn0tthelimit sagte in adapter ical - add new calendar via command line (struggle):
die Einstellungen der einzelnen Adapter vorgenommen
und das sind dann auch immer die gewünschten und aktuellen Einstellungen ???
Aktuelles Script - unwichtiges wurde entfernt:
#! /bin/sh
V_Backitup_Benutzer='BENUTZER' #Benutzer auf NAS für Backup
V_Backitup_Passwort='123Passwort' #Passwort für Benutzer auf NAS
V_Backitup_Pfad='/homes/iOBrokerBackUp/' #Speicherpfad auf NAS für Datensicherung
V_Backitup_Name='ioBrokerNAME' #Namenszusatz für BackUp Dateien
V_Backitup_NAS_IP='123.123.123.2' #NAS IP
V_Telegram_Token='123Token' #Telegram Token
V_Telegram_Passwort='123Passwort' #Telegram Passwort
V_Shelly_Benutzer='BENUTZER' #Shelly Benutzername
V_Shelly_Passwort='123Passwort' #Shelly Passwort
#----- Update und Upgrade wird durchgeführt
sudo apt-get update && sudo apt-get upgrade -y
#----- Argon One M.2 Software wird installiert
sudo curl https://download.argon40.com/argon1.sh | bash
#----- FFMPEG wird installiert
sudo apt-get install ffmpeg -y
#----- ioBroker wird installiert
sudo curl -sL https://iobroker.net/install.sh | bash -
#----- Conbee II Software installieren
sudo wget -O – http://phoscon.de/apt/deconz.pub.key | sudo apt-key add –
sudo sh -c "echo 'deb http://phoscon.de/apt/deconz $(lsb_release -cs) main' > /etc/apt/sources.list.d/deconz.list"
sudo apt update
sudo apt install deconz -y
sudo systemctl enable deconz
#----- ioBroker Adapter installieren und einstellen
iobroker add deconz
iobroker stop deconz
# iobroker set deconz.0 --bridge 192.168.178.5 #deConz IP Adresse GEHT NICHT - TODO
# iobroker set deconz.0 --port 80 #Bridge Port GEHT NICHT - TODO
# iobroker set deconz.0 --user "" #API-Key GEHT NICHT - TODO
iobroker add feiertage
iobroker stop feiertage
iobroker add ical
iobroker stop ical
iobroker set ical.0 --daysPreview 60 #Tagesvorschau
iobroker set ical.0 --daysPast 7 #Vergangene Tage
iobroker set ical.0 --ignoreCaseInEventname false #Groß-/Kleinschreibung bei Ereignis-Suche ignorieren
iobroker set ical.0 --language de #Sprache
iobroker set ical.0 --fulltime '' #Ersetze 00:00 mit
iobroker set ical.0 --defColor white #Standardfarben für HTML
iobroker set ical.0 --dataPaddingWithZeros true #Datumsangaben mit führender '0'
iobroker set ical.0 --replaceDates true #Ersetze Datum mit Worten
iobroker set ical.0 --everyCalOneColor false #Jeder Kalender hat eine eigene Farbe
iobroker set ical.0 --colorize true #Benutze Farben für HTML
iobroker set ical.0 --forceFullday false #Start- und Endzeit verbergen
iobroker set ical.0 --hideYear false #Jahr verbergen
iobroker set ical.0 --arrowAlreadyStarted true #Pfeil für gestartete Ereignisse hinzufügen
iobroker set ical.0 --addColorBox false #Ereignisfarbe als Box verwenden, falls verfügbar
# ------- HIER
# ------------ An dieser Stelle würde ich gerne Kalenderinformationen für den ical Adapter übergeben
iobroker add javascript
iobroker stop javascript
iobroker add shelly
iobroker stop shelly
iobroker set shelly.0 --protocol soap #Shelly-Protokoll ("mqtt","coap")
iobroker set shelly.0 --httpusername $V_Shelly_Benutzer #HTTP-Benutzername
iobroker set shelly.0 --httppassword $V_Shelly_Passwort #HTTP-Passwort # Muss vermutlich von Hand eingegeben werden
iobroker set shelly.0 --polltime 5 #Abfragezeit in sec. (5 bis 86400)
iobroker set shelly.0 --autoupdate true #Automatische Aktualisierung von neuer Firmware
iobroker set shelly.0 --updateUnchangedObjects false #Objekte aktualisieren, auch wenn keine Wertänderung vorliegt
iobroker set shelly.0 --logDebugMessages true #Debug-Meldungen protokollieren
iobroker set shelly.0 --saveHttpResponses true #HTTP-Antworten speichern (zum Debugger)
# iobroker set shelly.0 --bind "" #MQTT-Listen-IP
iobroker set shelly.0 --port 1082 #Port
# iobroker set shelly.0 --mqttusername 'mqttuser' #MQTT-Benutzername
# iobroker set shelly.0 --mqttpassword '' #MQTT-Passwort (Muss auf allen Shelly-Geräten konfiguriert werden)
iobroker set shelly.0 --qos 0 #Standard-QoS ("0","1","2")
iobroker add telegram
iobroker stop telegram
# iobroker set telegram.0 --server POLLING #Typ GEHT NICHT - Wert wird nicht übernommen... (default: Polling
iobroker set telegram.0 --pollingInterval 300 #Abrufintervall (ms)
# iobroker set telegram.0 --token $V_Telegram_Token #Token GEHT NICHT - Wert wird nicht korrekt übernommen (Verschlüsselt
iobroker set telegram.0 --baseApiUrl https://api.telegram.org #API URL
iobroker set telegram.0 --password $V_Telegram_Passwort #Passwort Muss noch überprüft werden
iobroker set telegram.0 --rememberUsers true #Speichere Nutzer-IDs zur Vermeidung einer erneuten Kennwortabfrage
iobroker set telegram.0 --doNotAcceptNewUsers false #Keine neuen Benutzer authentifizieren
iobroker set telegram.0 --useUsername true #Benutzername anstatt Vorname von Benutzern speichern
iobroker set telegram.0 --saveFiles false #Speichern der Mediendateien
iobroker set telegram.0 --allowStates false #Erlaube das Steuern von Zuständen
iobroker set telegram.0 --proxy false #Proxy Socks5 aktivieren
# iobroker set telegram.0 --proxyHost "" #Proxy Host
# iobroker set telegram.0 --proxyPort "" #Proxy Port
# iobroker set telegram.0 --proxyLogin "" #Proxy Benutzername
# iobroker set telegram.0 --proxyPassword "" #Passwort
iobroker set telegram.0 --restarted "Telegram-Bot steht bereit" #Gestartet (Dieser Text wird nach dem Start der Adapter-Instanz an die Clients gesendet. Zum Deaktivieren: leer lassen.
iobroker set telegram.0 --restarting "Telegram-Bot wurde beendet" #Beendet (Dieser Text wird an die Clients gesendet, sobald die Adapterinstanz gestoppt wird. Zum Deaktivieren: leer lassen.
iobroker set telegram.0 --keyboard '/cmds' #Tastaturbefehl (Befehl zum Anzeigen der Tastatur)
iobroker set telegram.0 --rooms false #Räume im Tastaturbefehl verwenden (Zeige die Liste der Räume vor der Geräte Auswahl an
iobroker set telegram.0 --storeRawRequest false #Speichere Original-Requests zur weiteren Verarbeitung (Achtung: kann sicherheitskritische Daten enthalten!
# iobroker set telegram.0 --text2command "" #text2Command-Instanz (Alle Anfragen werden an diese text2Command-Instanz weitergeleitet
iobroker add yahka
iobroker stop yahka
iobroker add alias-manager
iobroker stop alias-manager
iobroker add web
iobroker stop web
iobroker add vis
iobroker stop vis
iobroker add history
iobroker stop history
iobroker set history.0 --storeDir '' #Speicherverzeichnis
iobroker set history.0 --storeFrom false #Speichere Quellen vom Ereignis
iobroker set history.0 --storeAck true #Speichere ACK vom Ereignis
iobroker set history.0 --writeNulls true #Schreibe NULL-Werte an Start-/Stop-Grenzen
iobroker set history.0 --debounceTime 0 #Entprellzeit (Protokolliert den Wert nur, wenn er für X ms unverändert bleibt)
iobroker set history.0 --blockTime 0 #Blockzeit (Alle neuen Werte für X ms nach dem letzten protokollierten Wert ignorieren)
iobroker set history.0 --changesRelogInterval 0 #Trotzdem gleiche Werte aufzeichnen (sec.) (0 = Deaktivieren)
iobroker set history.0 --changesMinDelta 0 #Minimale Differenz zum letzten Wert (0 = Abweichungsprüfung deaktivieren)
iobroker set history.0 --retention 31536000 #Aufbewahrungsdauer (in sec.) (0 = für Immer / 86400 = 1Tag / 31536000 = 1Jahr / -1 = Eigener Zeitraum)
iobroker set history.0 --customRetentionDuration '' #Aufbewahrungsdauer (in Tagen)
iobroker set history.0 --maxLength 960 #Maximale Anzahl Datenpunkte im RAM
iobroker set history.0 --round "" #Runden Sie bei der Abfrage die Zahlen auf
iobroker set history.0 --disableSkippedValueLogging false #Optimierte Protokollierung übersprungener Werte für Diagramme deaktivieren
iobroker set history.0 --enableDebugLogs false #Erweiterte Debug-Protokolle für den Datenpunkt aktivieren
iobroker set history.0 --debounce '' #De-bounce Zeit ??
iobroker set backitup.0 --minimalEnabled true #TAB HAUPTEINST.: Was soll gespeichert werden: ioBroker
iobroker set backitup.0 --ccuEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: Homematic CCU
iobroker set backitup.0 --redisEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: Redis
iobroker set backitup.0 --javascriptsEnabled true #TAB HAUPTEINST.: Was soll gespeichert werden: Javascript
iobroker set backitup.0 --zigbee2mqttEnabled true #TAB HAUPTEINST.: Was soll gespeichert werden: Zigbee2 MQTT
iobroker set backitup.0 --zigbeeEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: Zigbee Datenbank
iobroker set backitup.0 --historyEnabled true #TAB HAUPTEINST.: Was soll gespeichert werden: History Daten
iobroker set backitup.0 --influxDBEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: InfluxDB
iobroker set backitup.0 --mySqlEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: MySQL
iobroker set backitup.0 --pgSqlEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: PostgreSQL
iobroker set backitup.0 --sqliteEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: SQLite3
iobroker set backitup.0 --grafanaEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: Grafana
iobroker set backitup.0 --noderedEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: Node-Red
iobroker set backitup.0 --yahkaEnabled true #TAB HAUPTEINST.: Was soll gespeichert werden: Yahka (HomeKit)
iobroker set backitup.0 --jarvisEnabled false #TAB HAUPTEINST.: Was soll gespeichert werden: Jarvis
iobroker set backitup.0 --cifsEnabled true #TAB HAUPTEINST.: Speicherort: NAS / Kopieren
iobroker set backitup.0 --ftpEnabled false #TAB HAUPTEINST.: Speicherort: FTP
iobroker set backitup.0 --dropboxEnabled false #TAB HAUPTEINST.: Speicherort: Dropbox
iobroker set backitup.0 --googledriveEnabled false #TAB HAUPTEINST.: Speicherort: GoogleDrive
iobroker set backitup.0 --webdavEnabled false #TAB HAUPTEINST.: Speicherort: WebDAV
iobroker set backitup.0 --onedriveEnabled false #TAB HAUPTEINST.: Speicherort: Onedrive
iobroker restart
Die notwendigen Infos habe ich aus der jsonConfig.json welche in /opt/iobroker/iobroker-data/files/ical.admin
{
"i18n": true,
"type": "tabs",
"items": {
"_options": {
"type": "panel",
"label": "Options",
"items": {
"daysPreview": {
"newLine": true,
"type": "number",
"min": 0,
"step": 1,
"sm": 12,
"md": 4,
"lg": 4,
"label": "Preview days"
},
"daysPast": {
"type": "number",
"min": 0,
"step": 1,
"sm": 12,
"md": 4,
"lg": 4,
"trim": false,
"label": "Past days"
},
"ignoreCaseInEventname": {
"type": "checkbox",
"newLine": true,
"sm": 12,
"md": 4,
"lg": 4,
"trim": false,
"label": "Ignore case for event-search"
}
}
},
"_html": {
"type": "panel",
"label": "HTML settings",
"items": {
"language": {
"type": "select",
"sm": 12,
"md": 4,
"lg": 4,
"options": [
{
"label": "English",
"value": "en"
},
{
"label": "Deutsch",
"value": "de"
},
{
"label": "русский",
"value": "ru"
},
{
"label": "Portugues",
"value": "pt"
},
{
"label": "Nederlands",
"value": "nl"
},
{
"label": "français",
"value": "fr"
},
{
"label": "Italiano",
"value": "it"
},
{
"label": "Espanol",
"value": "es"
}
],
"default": "en",
"label": "Language"
},
"fulltime": {
"type": "text",
"newLine": true,
"sm": 12,
"md": 4,
"lg": 4,
"label": "Use by full day"
},
"defColor": {
"type": "text",
"sm": 12,
"md": 4,
"lg": 4,
"label": "Default color for HTML"
},
"dataPaddingWithZeros": {
"type": "checkbox",
"newLine": true,
"sm": 12,
"md": 4,
"lg": 4,
"label": "Padding date with '0'"
},
"replaceDates": {
"type": "checkbox",
"sm": 12,
"md": 4,
"lg": 4,
"label": "Replace dates with words"
},
"everyCalOneColor": {
"type": "checkbox",
"newLine": true,
"sm": 12,
"md": 4,
"lg": 4,
"label": "Every calendar has own color"
},
"colorize": {
"type": "checkbox",
"sm": 12,
"md": 4,
"lg": 4,
"label": "Colorize HTML"
},
"forceFullday": {
"type": "checkbox",
"newLine": true,
"sm": 12,
"md": 4,
"lg": 4,
"label": "Hide Start-End of events"
},
"hideYear": {
"type": "checkbox",
"sm": 12,
"md": 4,
"lg": 4,
"label": "Hide Year"
},
"arrowAlreadyStarted": {
"type": "checkbox",
"newLine": true,
"sm": 12,
"md": 4,
"lg": 4,
"label": "Add arrow for started events"
},
"addColorBox": {
"type": "checkbox",
"sm": 12,
"md": 4,
"lg": 4,
"label": "Add event color if available"
}
}
},
"_calendars": {
"type": "panel",
"label": "Calendars",
"items": {
"calendars": {
"type": "table",
"sm": 12,
"md": 12,
"lg": 12,
"label": "Calendars",
"items": [
{
"type": "text",
"attr": "name",
"width": "15%",
"title": {
"en": "name",
"de": "Name",
"ru": "имя",
"pt": "nome",
"nl": "naam",
"fr": "Nom",
"it": "nome",
"es": "nombre",
"pl": "Nazwa",
"zh-cn": "姓名"
},
"filter": true,
"sort": true,
"default": "My Calendar"
},
{
"type": "text",
"attr": "url",
"width": "20%",
"title": {
"en": "Calendar URL or file name",
"de": "Kalender URL oder Dateiname",
"ru": "Календарь URL или имя файла",
"pt": "Calendário URL ou nome de arquivo",
"nl": "Calendar URL of dossier naam",
"fr": "URL de calendrier ou nom de fichier",
"it": "URL del calendario o nome del file",
"es": "Calendario URL o nombre de archivo",
"pl": "Calendar URL lub nazwy plików",
"zh-cn": "卡伦·URL或档案"
},
"filter": false,
"sort": false,
"default": ""
},
{
"type": "text",
"attr": "user",
"width": "10%",
"title": {
"en": "User name",
"de": "Benutzername",
"ru": "Имя пользователя",
"pt": "Nome do utilizador",
"nl": "Noem",
"fr": "Nom de l ' utilisateur",
"it": "Nome utente",
"es": "Nombre de usuario",
"pl": "Imię User",
"zh-cn": "使用名称"
},
"filter": false,
"sort": false,
"default": false
},
{
"type": "password",
"repeat": false,
"visible": false,
"attr": "pass",
"width": "10%",
"title": {
"en": "Password",
"de": "Passwort",
"ru": "Пароль",
"pt": "Senha",
"nl": "Wachtwoord",
"fr": "Mot de passe",
"it": "Password",
"es": "Contraseña",
"pl": "Password",
"zh-cn": "护照"
},
"filter": false,
"sort": false,
"default": false
},
{
"type": "checkbox",
"attr": "sslignore",
"width": "10%",
"title": {
"en": "Ignore SSL errors",
"de": "SSL-Fehler ignorieren",
"ru": "Игнорировать ошибки SSL",
"pt": "Ignorar erros SSL",
"nl": "Negeer SSL fouten",
"fr": "Ignore les erreurs SSL",
"it": "Ignora errori SSL",
"es": "Ignorar errores SSL",
"pl": "Ignore SSL error",
"zh-cn": "Ignore SSL错误"
},
"filter": false,
"sort": false,
"default": false
},
{
"type": "color",
"attr": "color",
"width": "10%",
"title": {
"en": "Color",
"de": "Farbe",
"ru": "Цвет",
"pt": "Cor",
"nl": "Kleur",
"fr": "Couleur",
"it": "Colore",
"es": "Color",
"pl": "Kolor",
"zh-cn": "颜色"
},
"filter": false,
"sort": false,
"default": "#000000"
},
{
"type": "text",
"attr": "filter",
"width": "15%",
"title": {
"en": "Filter",
"de": "Filter",
"ru": "Фильтр",
"pt": "Filtro",
"nl": "Filter",
"fr": "Filtre",
"it": "Filtro",
"es": "Filtro",
"pl": "Filter",
"zh-cn": "电影"
},
"filter": false,
"sort": false,
"default": "ignored events"
},
{
"type": "checkbox",
"attr": "filterregex",
"width": "10%",
"title": {
"en": "Filter as regular expression",
"de": "Filter als regulärer Ausdruck",
"ru": "Фильтр как регулярное выражение",
"pt": "Filtrar como expressão regular",
"nl": "Filter als regelmatige uitdrukking",
"fr": "Filtrer comme expression régulière",
"it": "Filtra come espressione normale",
"es": "Filtro como expresión regular",
"pl": "Filter jako zwykły wyraz wyrażenia",
"zh-cn": "过滤为正则表达式"
},
"filter": false,
"sort": false,
"default": false
}
]
}
}
},
"_events": {
"type": "panel",
"label": "Events",
"items": {
"events": {
"type": "table",
"sm": 12,
"md": 12,
"lg": 12,
"label": "Events",
"items": [
{
"type": "text",
"attr": "name",
"width": "20%",
"title": {
"en": "name",
"de": "Name",
"ru": "имя",
"pt": "nome",
"nl": "naam",
"fr": "Nom",
"it": "nome",
"es": "nombre",
"pl": "Nazwa",
"zh-cn": "姓名"
},
"filter": true,
"sort": true,
"default": ""
},
{
"type": "checkbox",
"attr": "enabled",
"width": "10%",
"title": {
"en": "Active",
"de": "Aktiv",
"ru": "Активно",
"pt": "Activo",
"nl": "Active",
"fr": "Active",
"it": "Attivo",
"es": "Activo",
"pl": "Aktywny",
"zh-cn": "精算师"
},
"filter": false,
"sort": false,
"default": true
},
{
"type": "objectId",
"attr": "id",
"width": "20%",
"title": {
"en": "Set ID",
"de": "Set ID",
"ru": "Установить ID",
"pt": "Definir ID",
"nl": "ID",
"fr": "Set ID",
"it": "Set ID",
"es": "Establecer ID",
"pl": "Set Identity (ang.)",
"zh-cn": "导 言"
},
"filter": false,
"sort": false,
"default": ""
},
{
"type": "text",
"attr": "on",
"width": "15%",
"title": {
"en": "ON",
"de": "EIN",
"ru": "НА",
"pt": "VAMOS",
"nl": "ON",
"fr": "ON",
"it": "ON",
"es": "ON",
"pl": "ON",
"zh-cn": "目录"
},
"filter": false,
"sort": false,
"default": ""
},
{
"type": "text",
"attr": "off",
"width": "15%",
"title": {
"en": "OFF",
"de": "AUS",
"ru": "ПРЕДЛОЖЕНИЕ",
"pt": "O QUE FOI",
"nl": "OFF",
"fr": "OFF",
"it": "UFFICIO",
"es": "OFF",
"pl": "OFF",
"zh-cn": "导 言"
},
"filter": false,
"sort": false,
"default": ""
},
{
"type": "checkbox",
"attr": "ack",
"width": "10%",
"title": {
"en": "Set Ack",
"de": "Set Ack",
"ru": "Набор Ack",
"pt": "Definir Ack",
"nl": "Set Ack",
"fr": "Set Ack",
"it": "Set Ack",
"es": "Set Ack",
"pl": "Set Ack",
"zh-cn": "A. 定 标"
},
"filter": false,
"sort": false,
"default": false
},
{
"type": "checkbox",
"attr": "display",
"width": "10%",
"title": {
"en": "Display",
"de": "Anzeigen",
"ru": "Показать",
"pt": "Exposição",
"nl": "Vertaling:",
"fr": "Afficher",
"it": "Visualizza",
"es": "Visualización",
"pl": "Display",
"zh-cn": "缺点"
},
"filter": false,
"sort": false,
"default": false
}
]
}
}
}
}
}
Und nun stellt sich mir die Frage ob es möglich ist über diesen Weg auch einen Kalender an den ical Adapter zu übergeben.