Giter Club home page Giter Club logo

sonoffhmlox's Introduction

SonoffHMLOX - DISCONTINUED -

Alternative Firmware für die Geräte Sonoff Switch, S20, SV, Touch, POW (nicht R2!) und der OBI WiFi Steckdose

Hinweis: Die Modifizierung des Sonoff (wenn auch nur softwareseitig) erfolgt auf eigene Gefahr! Während der Arbeiten/des Flash-Vorgangs am geöffneten Gerät darf keine Netzspannung (230V) anliegen!

Für Informationen zur Einrichtung etc., bitte das Wiki benutzen. Schaut euch auch das Youtube-Video [Klick hier] auf "verdrahtet" an!

Unterstützung weiterer Modelle:

  • eine Firmware für den Sonoff Dual / HVIO (als Schalt-Aktor) gibts hier
  • eine Firmware für den Sonoff Dual / HVIO (als Rollladen-Aktor) gibts hier
  • eine Firmware für den Shelly 1 gibts hier (Einrichtungsanleitung wie bei Sonoffs, siehe Wiki)

Github All Releases

Die neueste kompilierte Firmware, die direkt auf den Sonoff geflasht werden kann, findet ihr in den Releases.

Wenn sich bereits eine ältere Version der hier angebotenen Firmware auf dem Sonoff befindet, kann das Update "Over-the-Air", also direkt über das WLAN erfolgen! -> Anleitung

sonoffhmlox's People

Contributors

jp112sdl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sonoffhmlox's Issues

Sonoff Touch as sender only

Provide a functionality to use the touch function separate to the relay

In HomeMatic a CUxD Key device will be used. It has to be named as the '{SonoffDevicename}:1'

S20 vergisst Konfiguration nach Stromunterbrechung

Nach Stromunterbrechung verlieren meine Schalter S20 (4 Stück) die Konfiguration (Wlan SSID, Passwort).
Verbindung via http ist nicht möglich.
Die Fritzbox zeigt Geräte als verbunden an, jedoch kein ping.

Nur Neu-Konfiguration via 192.168.4.1 möglich.
Eintragungen zu Modell, CCU-IP, Bootverhalten, Backend bleiben erhalten.

Ist die Ursache die Einstellung IP via DHCP ?
Probehalber habe ich mal auf feste IP-Adresse umgestellt.

Was kann ich sonst noch tun für einen möglichst verlässlichen Betrieb ?

Default Password after flashing

Hi there,
not really an issue, but something that might be helpful for other people to put into the tutorial.

I was just about to flash some older S20.
When configuring for the first time a password is asked by he WiFi-AP!!!

So just want to let you know that the default password is 12345678

(found on https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwiNosums-zaAhWhxaYKHTWeAW4QFgg7MAE&url=https%3A%2F%2Fwww.itead.cc%2Fblog%2Fuser-guide-for-sonoff-slampher&usg=AOvVaw2STu7k6cXMH_gUKcxYzqcx )

Regards Joe

Timer im Einschaltbefehl

Hi,

vielen Dank für deine Arbeit und das ausführliche Wiki!

Ich möchte an meiner S20 einen Drucker schalten, der nach 5min abschalten soll

leider wird der Anschalt Befehl mit Timer in der Homematic CCU2 unter SWITCH|CMD_LONG nicht akzeptiert
/usr/local/addons/cuxd/curl -s http://192.168.2.58/1?t=300

es liegt vermutlich am Gleichheitszeichen

gibt es da einen Trick?

"Getting Answer" from Sonoff-devices

Hi
up to now I'm using the sonoff-devices along with the tasmota-firmware ... Connecting them to the homatic-system is done in the same way you are doing it - by an http-command.

Is there any possibility that your firmware would talk backward to the CCU by an http-command?
Why, here is the scenario:
on the CCU there is are programms called PlugStatusON, PlugStatusOFF. When the status of the Sonoff-device is changing it calls the corresponing program via http-command (of course CCU is running the XML-API) and the CCU gets an feedback from the device.
That would be a great feature to have and would make the Sonoff-prducts real homatic member.

Of course it is possible to use a program which is getting the device-status via http-command, but this has to be done periodically without knowing if there is any real change ....

Regards
Joe

Einstellungen löschen

Gibt es eine Möglichkeit alle Einstellungen zu löschen? Reset auf "Werkseinstellungen"

Wenn ich versuche zu resetten (bootConfigMode oder neu flashe) werden die Einstellungen immer behalten. Eine Weitergabe z.B. an einen Freund ist so nicht möglich

Ein weiteres Problem, einer meiner Sonoff S20 beharrt hartnäckig auf einer festen IP (192.168.2.62), egal was ich in der Konfiguration eigegebe die Einstellung wird nicht übernommen, sie scheint wie eingebrannt.

Einzige Lösung die ich gefunden habe ist den Sonoff mit einem leeren Image (z.B. Blank1MB.bin) flashen, dann die SonoffHMLOX.bin

geht das evtl. auch einfacher?

now switch after flash Obi Wifi with version x.24

i haved flash two adapters succesfull and can switch on the website on/off, but the power is always on.
i don´t can power off with the power button on the adapter direct.
what is wrong, what is the error?

HomematicTouchAsSender Tastendruck nicht erkannt

Hallo,

die im Wiki beschriebene Funktion "HomematicTouchAsSender" funktioniert bei mir leider nicht. Alles andere konnte ich erfolgreich testen.
Den 1. Schaltkanal meines Sonoffs habe ich "Sonoff1" genannt. Den ersten Tasterkanal entsprechend "Sonoff1:1".
Die HomeMatic erkennt die Betätigung des Tasters leider nicht.

Im Syslog von CUxD erhalte ich bei Betätigung des Tasters folgende Meldung:

Dec 23 22:46:36 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ScriptRuntimeError: ret=dom.GetObject(".PRESS_LONG").State(true) [iseESPexec.cpp:12447]

S20 triggert Sicherung

Hallo, leider löst der Sonoff S20 immer wieder die Sicherung aus, wenn ich ihn längere Zeit (>1 Tag) nicht benutze und dann einschalte. Dies ist sowohl über die <IP>/1 als auch über die Homematic Zentrale feststellbar.

  • neueste Firmware
  • eingebunden in Homematic RaspberryMatic

Externer Schalter

Hallo Jerome,

erstmal ein Lob für deine Arbeit. Läuft Top wenn man sich an die Anleitung hält. Aber wie es ja immer ist einen kleinen Wunsch hätte ich
Bei Tasmato kann man an den GPIO 14 einen Schalter aufklemmen und hat so auch die Möglichkeit per Schalter den Switch zu schalten.
Man könnte jetzt ja auch schon an den Tasterleitungen anschliessen und somit mit einen Wandtaster auslösen aber Schalter wäre schöner.
Ich habe es schon versucht den Punkt im Quellcode zufinden aber ich muss erkennen ich bin ein Noob...

Gruss und Danke
###Dennis

Problem bei S20 bei Ein-Ausschalt-Knopf

Hallo,

ich binde in Loxone die S20-Steckdose ein wie in der Beispielimplementation hier dargestellt: https://github.com/jp112sdl/SonoffHMLOX/wiki/Loxone

Schalte ich jetzt über den Schalter an der Steckdose ein, dann leuchtet die LED und die Steckdose ist ein.
Schalte ich jetzt wieder aus, dann ist die LED kurz aus und sofort wieder an. Er schaltet anscheinend die Steckdose ab und gleich wieder ein.

Nehme ich jetzt die virtuellen Eingänge aus Loxone raus, dann funktioniert auch der Schalter an der Steckdose ganz normal.

Wie kann ich das Problem beheben/umgehen?

Adding power-status-options for restart

Hi Jerome,

acutally there is the option to rember the power-state after getting disconnected from power-supply.
It would be a pretty good feature, if there is a drop-down-box with the follwoing options:
ON - the relais is automatically switched on if the device is restarted
OFF - the relais is automatically switched off if the device is restarted
LAST STATE - the relais is set to the last state before the device was restarted

Would be great if this would be possible in the future!
Regards
Joe

Sonoff POW Schaltzustand an Homematic

Hallo, ich habe den Sonoff POW geflasht und mit Homematic eingerichtet.
Es funktioniert alles wie es soll. Wenn ich aber den Sonoff komplett vom Strom trenne und wieder einschalte dann wird der Schaltzustand nicht an Homematic übertragen beim Drücken des Tasters oder über das Webinterface. Wenn ich in der Konfiguration die IP der CCU2 einmal ändere, und speichere funktioniert wieder die Übertragung des Schaltzustandes zu CCU2. Wie kann ich das abstellen?

IP adresse not configurable

I have flashed 2 Sonoff S20 devices. On first device everything worked out well. The second device hase some issues. I have set it up once. Somehow I entered a wrong IP-Adress - or the device just decided for one by himself.
If I enter the config mode again I get into the confic screen and it seems that I could change the adress. But it is not saving this. Also an OTA reflash and making it creating his own config wifi (press button after startup) did not helped.
What are I am doing wrong. It seems the IP is burned into some frozen or write protected area on the device.
If I remember right I have tried to install Tasmato on the device affected before and then flashed it with ESP loader. Finally I now reflashed it again with ESP loader and the config is still the same as before and not reset...

Probably you could help me.

Farbanpassung in der WebUI zu neuer Firmware

Beim Aufruf über die WebUI wird der Hinweis, dass eine neue Firmware verfügbar ist, recht plakativ angezeigt (weiss auf roten Hintergrund).
Auf mich wirkt das wie eine dringende Aufforderung unbedingt sofort etwas zu tun.
Ich würde vorschlagen es etwas dezenter zu machen, z.B. in kleinerer roter Schrift, kursiv (?) mit weissem Hintergrund.

Problems with Sonoff-Basic

Hi,
just got my S20-plugs today.... And flashing also as building them into CCU worked fine! Great Job!!

Now I' thought to transform the tasmota-flashed basic-switches into SonoffHMLOX ....
What I did:

  1. Basic was running tasmota. Via the web interface I uploaded the SonoffHMLOX.ino.generic.bin and did an firmware-update .... which failed! (>> Isn't that possible in generell?)
    The Basic is showing up as an AP, but cannot be connected.... Either the computer won't connect to the network or - when connected - the configuration-page cannot be reached....

  2. The same Basic is plugged to the programmer as described and the SonoffHMLOX.ino.generic.bin has been flashed via Win10-computer. the same result.

  3. took another Basic-switch (also already flashed with tasmota) and flashed it with the SonoffHMLOX.ino.generic.bin ... same result

The network is instable, not "connectable", or the configuration-webpage cannot be found...

Any ideas?

Regards an thanks in advance for thinking about a solution.

Joe
P.S. Will it be possible to flash the SonoffHMLOX.ino.generic.bin from the tasmota-web-interface for my in-use S20???

Sonoff Switch schaltet manchmal nicht

Moinsen Jérôme,
ich habe vier Sonoff Switch alle mit der aktuellen Firmware, die ich via NodeMCU (MicroPython) einschalte.
(Kann den Code bei Bedarf zeigen, nix spektakuläres.)

Manchmal ist das Einschalten verzögert und manchmal schlägt es ganz fehl. (Das Micropython der MCU gibt dann einfach nur OSError aus...)
Alle Geräte befinden sich im selben WLAN.

Was ich beobachtet habe ist, dass die Switche auch manchmal recht "lange" brauchen um auf Pings zu antworten. Es scheint so, als würden sie in einen Schlafmodus gehen.

Das hier ist noch gut:

C:\Users\XXX>ping -t 192.168.99.201

Ping wird ausgeführt für 192.168.99.201 mit 32 Bytes Daten:
Antwort von 192.168.99.201: Bytes=32 Zeit=152ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=18ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=33ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=11ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=59ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=11ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=9ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=6ms TTL=128

Oder auch mal so:

C:\Users\XXX>ping -t 192.168.99.201

Ping wird ausgeführt für 192.168.99.201 mit 32 Bytes Daten:
Antwort von 192.168.99.201: Bytes=32 Zeit=96ms TTL=128
Zeitüberschreitung der Anforderung.
Antwort von 192.168.99.201: Bytes=32 Zeit=90ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=112ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=12ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=21ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=28ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128
Antwort von 192.168.99.201: Bytes=32 Zeit=3ms TTL=128

Wenn es einmal läuft, antwortet er auch recht zügig. Daraufhin hatte ich die Idee, einfach jede Sekunde einmal Port 80 von der NodeMCU aus auf dem Switch zu öffnen und ohne Request wieder zu schließen.
Das hat die Sache noch verschäft, dann war das Einschalten noch verzögerter...

Hättest Du eine Idee dazu ?

An ein Problem im WLAN mag ich nicht so recht glauben, Downloads und das Videostreaming von der SAT-Box funktionieren gut.

Danke,
Uli

Invalid Head of packet

Hallo,

meine ersten beiden Sonoff haben super geklappt. Habe nun ein paar neue bekommen und dort bekomme ich beim flashen immer Invalid head of packet.
Was kann ich tun?

S20 Hat probleme nach der Ersteinrichtung ins Wifi zu kommen.

Hallo,

ich hab ein tolles Problem und noch keine Lösung via google oder etc gefunden. Wenn ich die SonoffHMLOX flashe, kann ich mich auf das Wlan connecten. Alle Einstellungen machen. Wenn ich auf Save drücke, dann hab ich kurz ein Ping aussetzer, bleibe im Wlan vom Sonoff und er Connected sich nicht ins HeimWifi.

Gibt es da eine Lösung?

Vielen Dank für die Tolle Arbeit! by the way :)

Von Tasmota zu SonoffHMLOX per OTA?

Tolles Projekt! Danke für Dein Engagement Jérôme!!!
Ich hab bisher mit Tasmota rumgespielt, auch weil ich per OTA flaschen wollte. Kann ich eigentlich die Tasmota FW Update Funktion nutzen um SonoffHMLOX einzuspielen? Möchte meinen Sonoff Basic doch gerne an die CCU2 hängen. Geht das? Oder MUSS ich per Kabel flaschen?

Homematic - path curl

in my CCU the curl is not located at
/usr/local/addons/cuxd/curl

instead it is located in my CCU at
/usr/local/addons/cuxd/extra/curl

I propose to adjust the Wiki for both possibilities

additional hint: in case of problems, check firewall configuration

Feature Request: Unterstützung für Sonoff Pow Rev2

Hallo. Bitte könntest Du den Pow Rev2 von Sonoff auch mit in Deine Firmware mit aufnehmen? Wäre super, da der Rev1 ein Auslaufmodell ist und der Rev2 wesentlich mehr Funktionen hat.
Sollte das nicht möglich sein, dann never mind.
Danke!

Keine Verbindung zum Webinterface ESP8266

Hallo,

es gab ein Closed Issue bezogen auf den Fehler esp8266/Arduino#2330 bei dem das Webinterface nicht erreichbar ist.

Du pingst den ESP extern regelmäßig an, damit dieser Fehler nicht bei dir auftritt.

Gelöst werden kann das Problem aber auch anders.
Im Code mittels eines Timers mit dem einfachen Befehl
WiFi.reconnect();
Aufrufen tue ich das alle 30 sek.

Give it a try :-)

Grüße
Tom

Sonoff Switch Leuchtstoffröhren schalten

Hallo,
ich habe 2 Leuchtstoffröhren an Sonoff Switch angeschlossen. Mir ist aufgefallen das der Sonoff sporadisch neu startet. Wenn ich den Sonoff an eine normale Lampe anschließe passiert das nicht. Kann es sein das der Sonnoff für das schalten von Leuchtstoffröhren nicht geeignet ist?

TransmitState per Webseite oder per UDP

Hallo,

tolles Projekt, habe es schon einige Zeit drauf und mir nun noch einige OBI Steckdosen geholt.
Meine Frage ist bezogen auf den transmitstate.

Über die switch.ino wird beim drücken des Tastern der Status mittels TRANSMITSTATE übertragen.
Kommt aber der Befehl über die Webseite direkt "webSwitchRelayOn" oder per "udpMessage" wird kein Status mehr rausgeschickt. Das wäre aber sicherlich ne gute Sache, wenn ich den Status zurückbekomme, wenn ich im Loxone schalte per UDP oder HTTP oder einfach direkt per Webseite.
Hat es einen Grund warum das deaktiviert ist ?

web.ino
void webSwitchRelayOn
bool _transmitstate = NO_TRANSMITSTATE;

SonoffHMLOX.ino
if (udpMessage == "1" || udpMessage == "on")
switchRelay(RELAYSTATE_ON, NO_TRANSMITSTATE);

VG
Christian

Anzeige des Gesamtverbrauches

Moin,

Ich habe da mal eine Frage und zwar ist es möglich beim POW eine Systemvariable zu erstellen, wo der Gesamtverbrauch angezeigt wird und nicht wie jetzt die aktuelle Leistung ?

Schöner wäre es wenn man es so darstellen könnte wie beim HM-ES-PMSw1-Pl .

LG
Gentoo79

Feste IP Adresse ändern

Da ich nirgends etwas dazu gefunden habe:
Wie kann die IP Adresse eines bereits eingerichteten Switch geändert werden? (zB. Sonoff S20)
Ich habe es nachträglich mit http://<IP>/wifisave?s=SSID&p=XXXX&sonoffmodel=0&ccu=192.168.0.9&loxudpport=&sonoff=&hmpowervariable_pow=&hmecvariable_pow=&custom_powermeasureinterval_pow=10&restorestate=1&gpio14mode_switch=0&backendtype=0&custom_ip=192.168.0.10&custom_netmask=255.255.255.0&custom_gw=192.168.0.1 versucht, leider ohne Erfolg. Auch in der Fritz Box lässt sich die IP nicht manuell verändern.

Porteinstellung für Verbindung zum Miniserver

Hallo Jèrome

Ich habe keine Stelle gefunden an der ich einen speziellen Port für die grundlegende Verbindung zum Miniserver konfigurierren kann.
Versuche ich es über die Web-UI des POW, dann kann ich nach der IP-Adresse noch einen Doppelpunkt und zwei Zahlen eintragen.
Ich benötige für die Verbindung zu meinem Miniserver aber nach dem Doppelpunkt noch 5 Stellen, also insgesamt 6 Stellen.

Oder mache ich ggf. irgendwo einen (Denk-) Fehler?

Besten Dank und Grüße, Tobias

Sicherheit und Status

Super Sache, diese Software. Ich habe noch 2Punkte zur Verbesserung.

  1. Security Nur Befehle von der HM akzeptieren, sobald die HM konfiguriert ist.
  2. immer den Status an die HM übertragen, auch wenn der Status über die Taste verändert wird oder der alte Status nach Stromausfall wieder Hergestellt wird.

Ich hoffe die Vorschläge finden Anklang.

Viele Grüße
Dirk

Zustandsrückmeldung

Hallo jp112sdl,

ich habe grad ein paar Sonoff Touch geliefert bekommen, mit deiner Firmware geflasht und als Schalter in die Homematic CCU1 eingetragen. Das funktioniert soweit und ich bin mit der Firmware auf den ersten Blick ziemich zufrieden.
Ich habe im vorhergehenden Issue etwas von TransmitState gelesen. Habe ich das richtig verstanden, dass bei passender Einrichtung der Touch Schalter nach jedem Schaltvorgang (manuell wie auch per Netzwerk) ein StateUpdate an den CUxD sendet?
Nach dem Wiki Artikel kann ich derzeitig nämlich nur Schalten ohne das sich der Zustand in der HM ändert, wenn ich manuell den Schalter bediene. Es wäre schon gut, wenn ich den aktuellen Zustand sehen kann, um zu erkennen ob ich das Licht im Büro vergessen habe auszuschalten...
Was müsste dazu unternommen werden?
Ich habe bereits wie folgt konfiguriert, jedoch scheint es sich nicht auf den manuellen Schaltvorgang zu auzuwirken...
SWITCH|CMD_SHORT = /usr/local/addons/cuxd/curl -s http://192.168.0.31/1?ts=1
SWITCH|CMD_LONG = /usr/local/addons/cuxd/curl -s http://192.168.0.31/0?ts=1

Gruß Java-Jim

communication error in openHAB2

First of all thank you very much for your spending your time in developing this firmware.
I flashed a Sonoff basic successfully and connected it to my CCU2 via CuXD.
The device works flawlessly in HomeMatic.
As I'm using openHAB2 as well, I tried to add the Sonoff in OH, too.
The discovery detects the Sonoff CUXD device and I'm able to add it as a thing. But then the things is showing a connection error

sonoff_oh2_issue

For the moment I use the http-binding to send commands from OH2 to the Sonoff basic. and I pull the Sonoff state via JSON into OH2, in case the Sonoff was switched via HomeMatic. So I have the actual state in OH2.
This works fine. But is there a way to get the HomeMatic thing working in OH2 directly?

Turn relay on after power on?

Meinst du es wäre möglich sowas wie "Turn relay on after power on" zu implementieren?

Der Hintergrund dazu ist der folgende: Ich will in der Lage sein das Deckenlicht über den Lichtschalter zu bedienen, auch wenn ich zuvor es über die Homematic ausgeschaltet habe.

OTA-Update to 1.0.20 fails on S20

FW Upgrade 1.0.19 --> 1.0.20 (OTA) fails on Sonoff S20 (Same FW-file on a Sonoff Basic is working!)
The Upgrade ends up in showing "Update Success! Rebooting... ". And then loading until timeout...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.