Integration von Free Mobile

Funktionsbeschreibung

Nach meinem Beitrag in diesem Thema SMS mit Gladys Plus versenden schlage ich vor, Free Mobile direkt zu integrieren (also auf die Gladys-Art, also einfach).

Ich weiß, dass es derzeit über Node Red oder über HTTP-Anrufe möglich ist.

Eure Meinungen und Stimmen

Sehr gute Idee! :+1:

Um mich im Programmieren zu üben, habe ich die SMS-Integration mit Free Mobile programmiert


Und die Hinzufügung einer neuen Aktion „SMS senden“ in den Szenen

Bei mir funktioniert es. Hier ein Bild für diejenigen, die Free Mobile nutzen und es testen möchten:

willde71/gladys-test:free-mobile-sms

@pierre-gilles, hier ist der PR, in Erwartung deiner Rückmeldung.

Genial @Will_71 :slight_smile: Ich habe mir erlaubt, deinen Beitrag hierher zu verschieben, da er besser zu dieser Anfrage passt!

Ich bin kein Free Mobile-Kunde, also kann ich es nicht testen. Ich suche Tester und werde dir danach eine technische Bewertung geben!

Hallo zusammen,

@Will_71 Ich habe gerade deine Entwicklung getestet, das ist super!!
Ich hatte keine Probleme bei der Nutzung, mit Szenen, mit oder ohne Variablen.

Tolle Arbeit :blush:

Das Einzige, was ich noch sagen könnte, ist, dass das Feld „Service-Schlüssel“ auf Passwort ändern sollte.

Danke für das Feedback.

Für den Schlüssel habe ich mich an den anderen Integrationen orientiert und die sind auch nicht vom Typ Passwort.

Aber ich kann ihn ändern.

Das einzige Problem beim Wechsel in das Passwortfeld ist, dass die Autovervollständigung dann automatisch deine Daten durch dein Passwort ersetzt, Gladys

Firefox ist übrigens der Schlimmste damit, er respektiert nicht das „autocomplete=off“ und man muss dann ein paar schmutzige Tricks anwenden, um zu verhindern, dass er das Passwort überall einsetzt ^^

Deshalb ist es gut, es als Passwort zu setzen, aber wenn es falsch gemacht wird, schafft es mehr Probleme, als es löst ^^

@Will_71 Ich weiß nicht, ob du es gesehen hast, aber die Tests laufen nicht auf Github :slight_smile:

Ja, ich habe es gesehen, ich habe noch nicht verstanden, warum, denn lokal auf meinem PC funktionieren die Tests.

Läufst du lokal alle Tests oder nur die Tests auf freemobile mit .only?

Edit: Ich habe beide Fälle bei mir zu Hause getestet, und es funktioniert gut in deinem PR:

Aber im CI ist alles langsamer, also könnte es sein, dass die Funktion send() im CI aufgelöst wird, obwohl der API-Aufruf noch nicht abgeschlossen ist. Man muss schauen, ob der Code da gut ist.

Wenn ich die Tests schreibe, mache ich das mit .only

Ansonsten starte ich sie ohne das .only, wenn ich fertig bin.

Ich werde mich so schnell wie möglich um den Code kümmern.

Okay, halte mich auf dem Laufenden, und zögere nicht, wenn du Hilfe brauchst.

@pierre-gilles, ich brauche deine Hilfe, weil ich es nicht verstehe.
Ich habe Korrekturen vorgenommen und habe immer noch Fehler und die Servertests gehen nicht durch.

Aber diesmal bekomme ich direkt auf GitHub Folgendes:
Die Integrationstests sind OK

Die Abdeckung ist OK
Bildschirmfoto vom 2024-11-11 22-47-46

Aber es gibt 10 Fehler im Zusammenhang mit NetAtmo

Da ist sicher etwas, aber ich sehe es nicht. Wenn du mir einen Hinweis geben könntest. Vielen Dank im Voraus.

@Terdious Hattest du schon mal diese Probleme mit der Netatmo-Integration?

Ich glaube nicht, dass das Problem von der Netatmo-Integration stammt, denn ich habe bemerkt, dass in jedem Fehler eine Zeile in meiner Testdatei vorkommt.

Hallo ihr beiden!
Also nein aber ja ^^ soweit ich mich erinnere, hatte ich damals große Probleme mit den Zurücksetzungen und den abgelaufenen Zeitlimits in den Tests. Aber ich weiß nicht mehr, ob das bei diesem Teil war.
Vielleicht hat @Will_71 denselben Gebrauch und das beeinflusst das andere… oder ich habe etwas falsch gemacht… ich gebe zu, dass ich das so nicht sagen könnte.

Zögert nicht, mir Bescheid zu sagen, wenn nötig, ich würde mir die Zeit nehmen, meinen Entwicklungs-PC wieder hochzufahren, falls es ein Problem auf meiner Seite gibt (habe die Arbeiten noch nicht abgeschlossen, aber es kommt voran ^^)

Hallo @Will_71, ich kann mir das am Freitag anschauen, wenn du möchtest :slight_smile:

Konntest du das Problem inzwischen lösen?

Ich wäre dir dankbar, wenn du dir das mal anschaust und mir ein bisschen auf die Sprünge hilfst.
Ich habe versucht, ein paar Dinge zu machen, aber ich konnte das Problem nicht lösen.
Ich bin noch nicht so vertraut mit Tests, also habe ich wahrscheinlich irgendwo ein Problem mit der Rücksetzung.

@Will_71 Ich habe deine Branch rebase gemacht und lokal getestet, ich hatte kein Problem, wir werden sehen, wie es auf dem CI läuft :slight_smile:

Edit: Okay, der Fehler ist immer noch da

Okay, ich glaube, ich weiß, was es ist, die beiden Integrationen setzen denselben Stub ein und deshalb gibt es Probleme. Man muss eine Sandbox erstellen, um zu verhindern, dass andere Tests verschmutzt werden:

Beispiel:

const sinon = require('sinon');

let sandbox;

beforeEach(() => {
    sandbox = sinon.createSandbox();
});

afterEach(() => {
    sandbox.restore();
});

it('should test something', () => {
    const stub = sandbox.stub(SomeObject, 'someMethod');
    // Test code...
});

@Will_71 alles klar, ich habe deinen PR repariert :slight_smile:

Kannst du einen PR für die Dokumentation machen?

Ich habe nur einen kleinen Kommentar zum PR, es fehlt ein Platzhalter: add new integration Free Mobile SMS by William-De71 · Pull Request #2157 · GladysAssistant/Gladys · GitHub

Danach ist für mich alles gut, damit es losgehen kann!

@Terdious könntest du die Netatmo-Tests korrigieren, um eine Sandbox zu verwenden? Das würde verhindern, dass andere Tests in anderen PRs in Zukunft kaputt gehen :slight_smile: