NEWS
Test Adapter Contact v1.1.x
-
@sigi234 sagte in Test Adapter Contact v0.0.x:
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
@sigi234
JaDone

Alles da, habe ein Foto in Google Kontakte geändert, wann wird das Foto aktualisiert?
Das kannst du in der Konfig einstellen. Default ist das Intervalle auf alle 12 Stunden gestellt. Ebenfalls bei einem Adapter Neustart.
@bahnuhr sagte in Test Adapter Contact v0.0.x:
bekomme im log noch folgenden Hinweis:
contact.0 2019-12-19 20:53:15.969 info No display name found for connection.Was hat es damit auf sich ?
Das bedeutet, dass du einen Kontakt ohne Namen hast.
@liv-in-sky sagte in Test Adapter Contact v0.0.x:
seh ich das richtig - man kann mit dem adapter , wenn in der fritzbox die google contakte als telefonbuch aktiviert ist - auf die google bilder zugreifen - mit einem eigenen script
Es reicht, die Rufnummer zu wissen. Diese kannst du einfach per Skript in den Query DP setzten und erhält dann den zugehörigen Kontakt.
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
Hab alle Kontakte durchgeschaut.
Kontakt ohne Namen hab ich nicht.
Kontakte ohne Nr. aber schon. -
@liv-in-sky sagte in Test Adapter Contact v0.0.x:
@bahnuhr ( @J-A-R-V-I-S ) hast du einen linux rechner als iobroker server- wenn ja, könntest du mir bite sagen, was du eingetragen hast, damit die google anmeldung funktioniert
ich komm da nicht weiter

Ne, läuft bei mir auf win7 laptop.
Welche Eintragung meinst du genau?
@bahnuhr
hat sich erledigt - habe es auch hinbekommen - sorry muss jetzt sein: google api ist ein sch.... -
ich habe es so gemacht - vielleicht braucht es auch ein anderer linux user - ich hoffe mal, das dies auch nach einem neustart funktioniert
ich mußte die instanz zwei-dreimal pausieren und aktivieren, bis die werte eingetragen waren (die ordner für die clients waren sofort da)habe mir meine hosts datei angesehen - ist ein proxmox container:
# --- BEGIN PVE --- 192.168.178.59 iobroker59.fritz.box iobroker59 # --- END PVE ---dann hier eingetragen: das geht aber nur, wenn man vorher -siehe letztes bild - einträgt


in der instanz definiert:

-
ich habe es so gemacht - vielleicht braucht es auch ein anderer linux user - ich hoffe mal, das dies auch nach einem neustart funktioniert
ich mußte die instanz zwei-dreimal pausieren und aktivieren, bis die werte eingetragen waren (die ordner für die clients waren sofort da)habe mir meine hosts datei angesehen - ist ein proxmox container:
# --- BEGIN PVE --- 192.168.178.59 iobroker59.fritz.box iobroker59 # --- END PVE ---dann hier eingetragen: das geht aber nur, wenn man vorher -siehe letztes bild - einträgt


in der instanz definiert:

@liv-in-sky Hi, geht bei mir leider nicht, kommt immer ein:
(6915) No permission granted for account "contact". Please visit http://iobroker.fritz.box:8096/google/login/0und dort bekomme ich:

in der OAuth-Zustimmung habe ich fritz.box eingetragen
in den Anmeldedaten habe ich alles wie bei dir eingetragen, halt auf meine IP und Hostnamen umgesetzt.
-
@liv-in-sky Hi, geht bei mir leider nicht, kommt immer ein:
(6915) No permission granted for account "contact". Please visit http://iobroker.fritz.box:8096/google/login/0und dort bekomme ich:

in der OAuth-Zustimmung habe ich fritz.box eingetragen
in den Anmeldedaten habe ich alles wie bei dir eingetragen, halt auf meine IP und Hostnamen umgesetzt.
@ilovegym ich wünschte, ich könnte behauten, dass ich verstehe, was ich da gemacht habe - ich habe über eine stunde "sachen" eingegeben - und so wie oben beschrieben funktioniert es - mehr kann ich dir leider nicht dazu sagen
kannst du lokal in windows einen ping auf iobroker.fritz.box erfolgreich absetzen? hast du auch die hostdatei unter /etc/hosts im server angeschaut ?
vielleicht hat @J-A-R-V-I-S noch eine idee
-
@liv-in-sky Hi, geht bei mir leider nicht, kommt immer ein:
(6915) No permission granted for account "contact". Please visit http://iobroker.fritz.box:8096/google/login/0und dort bekomme ich:

in der OAuth-Zustimmung habe ich fritz.box eingetragen
in den Anmeldedaten habe ich alles wie bei dir eingetragen, halt auf meine IP und Hostnamen umgesetzt.
@ilovegym sagte in Test Adapter Contact v0.0.x:
in der OAuth-Zustimmung habe ich fritz.box eingetragen
Dort musst du aber das Komplette eintragen. Also: ioBroker.fritz.box
Alsi den genauen Aufruf, der auf deinen ioBroker zeigt.
-
ich habe es so gemacht - vielleicht braucht es auch ein anderer linux user - ich hoffe mal, das dies auch nach einem neustart funktioniert
ich mußte die instanz zwei-dreimal pausieren und aktivieren, bis die werte eingetragen waren (die ordner für die clients waren sofort da)habe mir meine hosts datei angesehen - ist ein proxmox container:
# --- BEGIN PVE --- 192.168.178.59 iobroker59.fritz.box iobroker59 # --- END PVE ---dann hier eingetragen: das geht aber nur, wenn man vorher -siehe letztes bild - einträgt


in der instanz definiert:

@liv-in-sky sagte in Test Adapter Contact v0.0.x:
dann hier eingetragen: das geht aber nur, wenn man vorher -siehe letztes bild - einträgt
Das werde ich mir noch ei mal anschauen. Vielleicht ist die Authentifizierung dann auch wesentlich einfacher.
-
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
Hab alle Kontakte durchgeschaut.
Kontakt ohne Namen hab ich nicht.
Kontakte ohne Nr. aber schon. -
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
Hab alle Kontakte durchgeschaut.
Kontakt ohne Namen hab ich nicht.
Kontakte ohne Nr. aber schon.@bahnuhr sagte in Test Adapter Contact v0.0.x:
Hab alle Kontakte durchgeschaut.
Kontakt ohne Namen hab ich nicht.
Kontakte ohne Nr. aber schon.Ich habe in Google geschaut.
-
Aktuelle Test Version 1.1.2 Veröffentlichungsdatum 07.01.2020 Github Link https://github.com/WLAN-Kabel/ioBroker.contact NPM Link https://www.npmjs.com/package/iobroker.contact Da es einen Wunsch nach einem Contact Adapter gab, habe ich mich mal dran gesetzt und möchte euch nun darum bitten, diesen zu test.
Funktionen
- lädt eure Kontakte aus eurem Google Konto in ioBroker
- Rückwärtssuche von Kontakten (Telefonnummer eingeben, Kontakt erhalten)
Konfiguration
Damit Ihr den Adapter verwendet könnt, benötigt ihr einen API Key.Wichtig: Sollte dein ioBroker nicht lokal laufen, musst du zunächst noch folgende Schritte durchführen:
API Key besorgen:
- Gehe auf https://console.cloud.google.com/apis/dashboard und logge dich mit deinem Google Account ein.
- Öffne die Liste in der Kopfzeile und erstelle im sich öffnenden Fenster ein neues Projekt.
- Gib einen Namen ein und klicke auf erstellen. Beispielname: "ioBroker"
- Gehe sicher, dass du das richtige Projekt in der Liste ausgewählt hast.
- Öffne den Tab "Bibliothek" und suche dort nach "people".
- Wähle den Eintrag "Google People API" und klicke auf "aktivieren".
- Klick auf "APIs & Dienste" und öffne den Tab "OAuth-Zustimmungsbildschirm".
- Schreibe dort einen Namen und speichere die Seite ab.
- Öffne den Tab"Anmeldedaten" und klicke auf "Anmeldedaten erstellen".
- Wähle "OAuth-Client-ID" und im nächsten Fenster "Webanwendung".
- Trage dort einen Namen ein z.B. "ioBroker" oder "Webclient".
- Füge "JavaScript Quellen" folgenden Eintrag hinzu:
http://<FQDN aus Adapterconfig>:<Port aus Adapterconfig> - Füge bei "Authorisierte Rediret URIs" folgende Einträge hinzu:
http://<FQDN aus Adapterconfig>:<Port aus Adapterconfig>/googleundhttp://<FQDN aus Adapterconfig>:<Port aus Adapterconfig>/google/ - Speichere diese Seite und kopiere dir die darauf angezeigte Client ID sowie das Client Secret.
- Füge beide in die Adapterconfig ein und starte den Adapter.
Authentifizieren:
Schaue im Log nach, dort wird dir ein Link mitgeteilt, über den du dich Authentifizieren kannst. Sollte alles gut gehen, steht am Ende ein "Done" im Browser Fenster.
Changelog
1.1.3 (2020-01-23)
- Staterollen wurden auf Offizielle geändert
- Deprecation von Buffer behoben
- Fehlerbehandlung vom HTTP-Server hinzugefügt
1.1.2 (2020-01-07)
- Der Server wird beim beenden gestoppt
- Adapter aus den Statuseinstellungen entfernt
1.1.1 (2020-01-06)
- Cron job wird beim beenden des Adapters gestoppt
- Problem behoben, bei dem nicht alle States gelöscht wurden
- Einige Debugnachrichten hinzugefügt
1.1.0 (2020-01-05)
- sendTo() wird jetzt unterstützt
- Problem behoben, bei dem Straßen in die Rolle geschrieben werden
- Problem behoben, bei dem Kontakte beim Aktualisieren gelöscht werden
1.0.1 (2019-12-29)
- Problem mit Unternehmen in Google-Kontakten behoben
- 'undefined' von fullName entfernt, wenn ein Name fehlt
- Adapter hängt nicht mehr beim Aktualisieren auf
- Nextcloud-Standardkennwort geändert, da das alte Kennwort Nachrichten verursachte
1.0.0 (2019-12-23)
- Nextcloud Kontakte wurden hinzugefügt
- Neuer DP fullName bei der Suche sowie bei allen Kontakten
- FDQN und Intervall wurden auf die Hauptseite verschoben
- Channelnamen für addresses, emailAddresses und phoneNumbers wurden geändert
- Neuer DP type für emailAddresses und phoneNumbers
0.0.3 (2019-12-21)
- Der Standard-Ländercode kann jetzt selbst ausgewählt werden.
0.0.2 (2019-12-21)
- Es wurde ein Problem behoben, durch das die Suche eingeschränkt wurde.
- Begrenzung von 100 Kontakten wurde entfernt.
0.0.1 (2019-12-17)
- Erstveröffentlichung
Datenpunkte
contact.0.Datenpunkt Beschreibung query Dort wird die Rufnummer eingetragen, nach der gesucht werden soll familyName Familienname des Kontaktes, der gesucht wurde (kann direkt für die VIS genutzt werden) givenName Vornamename des Kontaktes, der gesucht wurde (kann direkt für die VIS genutzt werden) photo Foto des Kontaktes, der gesucht wurde (kann direkt für die VIS genutzt werden) id ID des Kontaktes, der gesucht wurde (kann in der nachfolgenden Tabelle bei <id> eingesetzt werden, für Scripte interessant) contact.0.<id>.
Datenpunkt Beschreibung familyName Familienname des Kontaktes givenName Vornamename des Kontaktes photo Foto des Kontaktes addresses.* Adressen des Kontaktes emailAddresses.* Emailadressen des Kontaktes phoneNumbers.* Rufnummern des Kontaktes Javascript
An den Adapter kann persendTo()eine Anfrage geschickt werden, so wie es auch der query Datenpunkt macht, jedoch erhalt man dadurch ein JSON Object zurück, das man in einem Skript verarbeiten kann (Wurde auch schon genutzt: https://forum.iobroker.net/topic/28294/asynchron-callback-promise-await-hilfe.sendTo('contact.0', 'query', {phonenumberr: '+49 1234 567890'}, (obj) => { if(obj.error) { log(obj.error); } else { log(JSON.stringify(obj.contact)); } });Für weitere Ideen und Vorschläge bin ich offen und freue mich auf eure Hilfe.
Ihr müsst nicht zwingend hier Kommentieren, sondern könnt dies auch auf Github tun.
Vielen Dank im Vorraus

Todo
*Hilfe
Wer Probleme bei der Konfiguration hat, kann auch mal im folgenden Thread vorbeischauen, dort wurden schon ein paar Probleme erleutert (https://forum.iobroker.net/topic/27136/ideensammlung-kalender-adapter-google-outlook/29). Der Adapter verwendet die gleiche Vorgehensweise bezüglich des API Keys und Authetifizierung.Version 0.0.3
- Der Standard-Ländercode kann jetzt selbst ausgewählt werden.
-
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
Hab alle Kontakte durchgeschaut.
Kontakt ohne Namen hab ich nicht.
Kontakte ohne Nr. aber schon.@bahnuhr sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
0.0.3 installiert.
o.g. Hinweis kommt immer noch.
Habe keine Kontakte ohne Namen (in Google nachgeschaut).
mfg
-
@bahnuhr sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
0.0.3 installiert.
o.g. Hinweis kommt immer noch.
Habe keine Kontakte ohne Namen (in Google nachgeschaut).
mfg
Mir ist noch etwas aufgefallen.
Wenn man in query eine Nr. eingibt dann werden ja die anderen Felder befüllt.
Klappt soweit.Wenn man aber dann eine neue Nr. eingibt, die z.B. keinen givenName hat, dann werden die anderen Felder richtig befüllt. Aber der givenName wird nicht gelöscht. Folglich steht dort der alte Namen noch drin.
Vielleicht sollte man, wenn man eine Nr. eingibt erst einmal alle Felder löschen bevor diese dann befüllt werden.
mfg
-
@bahnuhr sagte in Test Adapter Contact v0.0.x:
Das bedeutet, dass du einen Kontakt ohne Namen hast.
0.0.3 installiert.
o.g. Hinweis kommt immer noch.
Habe keine Kontakte ohne Namen (in Google nachgeschaut).
mfg
@bahnuhr
Danke für den Hinweis.Und teste mal bitte die Version aus dem development Branch: https://github.com/WLAN-Kabel/ioBroker.contact/tarball/development
Stelle das Log level auf Debug. Dann sollte dort der komplette Kontakt erscheinen, der den Fehler wirft.
-
Version 0.0.3
- Der Standard-Ländercode kann jetzt selbst ausgewählt werden.
@J-A-R-V-I-S hab mal geupdatet:
query laufen noch - keine fehlermeldungen soweit
kontakt mit +49 wird angezeigt !- @bahnuhr hat recht - habe test user ohne family name angelegt - dadurch wurde der neue test kontakt mit dem family name des query vorhers angezeigt
-
@J-A-R-V-I-S hab mal geupdatet:
query laufen noch - keine fehlermeldungen soweit
kontakt mit +49 wird angezeigt !- @bahnuhr hat recht - habe test user ohne family name angelegt - dadurch wurde der neue test kontakt mit dem family name des query vorhers angezeigt
@liv-in-sky sagte in Test Adapter Contact v0.0.x:
@bahnuhr hat recht
na was für ne Überraschung

(musste jetzt sein).
-
@bahnuhr
Danke für den Hinweis.Und teste mal bitte die Version aus dem development Branch: https://github.com/WLAN-Kabel/ioBroker.contact/tarball/development
Stelle das Log level auf Debug. Dann sollte dort der komplette Kontakt erscheinen, der den Fehler wirft.
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
Dann sollte dort der komplette Kontakt erscheinen, der den Fehler wirft.
Habs installiert.
Im log kommt nun:contact.0 2019-12-21 20:41:08.689 debug {"resourceName":"people/c7043088140406548180","etag":"%EgwBAj0DCT4LPxBANy4aBAECBQciDEZhc0pWY1BZZGJRPQ==","photos":[{"metadata":{"primary":true,"source":{"type":"CONTACT","id":"61be13590ab2e6d4"}},"url contact.0 2019-12-21 20:41:08.689 info No display name found for connection.Wenn ich mit der Maus drauf stehe sieht man auch die Nr. 066552709
Wenn ich nun in google schaue, dann kommt:

Und wie man sieht gibt es keinen Vor- und Nachname; weil ich die Daten als Unternehmen eingegeben habe.
Der Kontakt wurde auch komplett nicht übernommen.
Wenn ich nun in Google die Stückzahl sehe: 262
und dann per script die übenommenen Kontakte zähle, wie folgt:var cacheSelectorState = $("[id=contact.0.*.familyName]").each(function (id) { }); log(cacheSelectorState.length);dann kommt ebenfalls 262 Kontakte.
Frage:
Wird der Kontakt nun übernommen, oder eben nicht.
Bei den Objekten ist er nicht zu finden.
Warum ist dann aber die Stückzahl exakt die gleiche.mfg
DieterP.S.
soll ich die develepment nun drauf lassen; oder soll ich die "normal" wieder installieren ? -
@bahnuhr
Danke für den Hinweis.Und teste mal bitte die Version aus dem development Branch: https://github.com/WLAN-Kabel/ioBroker.contact/tarball/development
Stelle das Log level auf Debug. Dann sollte dort der komplette Kontakt erscheinen, der den Fehler wirft.
@J-A-R-V-I-S
planst du auch noch weitere datenpunkte abzufragen - z.b. notiz oder fax
bei anruf könnte man dan gleich anzeigen, ob man die faxnummer ,. mail usw.. vom anrufer schon hat oder noch erfragen muss - man könnte sich dann in der vis eine extra view haben, die bei einem anruf ein browserfenster öffnet und diese daten alle anzeigt
wäre super feature
ich habe auch anderes als kontakte in den kontakten gespeichert - z.b alle windows installationscodes oder andere seriennummern - die haben alle ein bestimmtes zeichen im nachnamen um sie zu filtern - wäre es möglich einen filter im setting anzugeben, eine art black- oder whitelist ?
-
@J-A-R-V-I-S sagte in Test Adapter Contact v0.0.x:
Dann sollte dort der komplette Kontakt erscheinen, der den Fehler wirft.
Habs installiert.
Im log kommt nun:contact.0 2019-12-21 20:41:08.689 debug {"resourceName":"people/c7043088140406548180","etag":"%EgwBAj0DCT4LPxBANy4aBAECBQciDEZhc0pWY1BZZGJRPQ==","photos":[{"metadata":{"primary":true,"source":{"type":"CONTACT","id":"61be13590ab2e6d4"}},"url contact.0 2019-12-21 20:41:08.689 info No display name found for connection.Wenn ich mit der Maus drauf stehe sieht man auch die Nr. 066552709
Wenn ich nun in google schaue, dann kommt:

Und wie man sieht gibt es keinen Vor- und Nachname; weil ich die Daten als Unternehmen eingegeben habe.
Der Kontakt wurde auch komplett nicht übernommen.
Wenn ich nun in Google die Stückzahl sehe: 262
und dann per script die übenommenen Kontakte zähle, wie folgt:var cacheSelectorState = $("[id=contact.0.*.familyName]").each(function (id) { }); log(cacheSelectorState.length);dann kommt ebenfalls 262 Kontakte.
Frage:
Wird der Kontakt nun übernommen, oder eben nicht.
Bei den Objekten ist er nicht zu finden.
Warum ist dann aber die Stückzahl exakt die gleiche.mfg
DieterP.S.
soll ich die develepment nun drauf lassen; oder soll ich die "normal" wieder installieren ? -
@J-A-R-V-I-S
planst du auch noch weitere datenpunkte abzufragen - z.b. notiz oder fax
bei anruf könnte man dan gleich anzeigen, ob man die faxnummer ,. mail usw.. vom anrufer schon hat oder noch erfragen muss - man könnte sich dann in der vis eine extra view haben, die bei einem anruf ein browserfenster öffnet und diese daten alle anzeigt
wäre super feature
ich habe auch anderes als kontakte in den kontakten gespeichert - z.b alle windows installationscodes oder andere seriennummern - die haben alle ein bestimmtes zeichen im nachnamen um sie zu filtern - wäre es möglich einen filter im setting anzugeben, eine art black- oder whitelist ?
@liv-in-sky weitere Felder abzufragen wäre keine Problem. Werde das dann vielleicht als optionale Datenpunkte, die man über die Konfig aktivieren kann, hinzufügen.
Die Sache mit deinem Filter könnte ich auch noch einbauen. Werde ich mir überlegen.
-
@liv-in-sky weitere Felder abzufragen wäre keine Problem. Werde das dann vielleicht als optionale Datenpunkte, die man über die Konfig aktivieren kann, hinzufügen.
Die Sache mit deinem Filter könnte ich auch noch einbauen. Werde ich mir überlegen.
@J-A-R-V-I-S das wäre klasse -war ne super idee mit diesem adapter