├── .dockerignore ├── .drone.yml ├── .drone ├── build-ui.sh ├── github-mirror.sh ├── macros │ ├── configure-git.sh │ ├── configure-gpg.sh │ └── configure-ssh.sh ├── rebuild-docs.sh ├── run-tests.sh ├── update-apt-repo.sh ├── update-arch-git-package.sh ├── update-arch-stable-package.sh ├── update-components-cache.sh ├── update-deb-packages.sh ├── update-image-registry.sh ├── update-pip-package.sh └── update-rpm-repo.sh ├── .env.example ├── .gitignore ├── .gitmodules ├── .ignore ├── .pre-commit-config.yaml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Dockerfile.alpine ├── LICENSE.txt ├── MANIFEST.in ├── README.md ├── assets ├── logo-128.png ├── logo-256.png └── logo-64.png ├── docker-compose.yml ├── docs ├── Makefile ├── README.md └── source │ ├── _ext │ ├── add_dependencies.py │ └── sphinx_marshmallow.py │ ├── _static │ ├── scripts │ │ └── custom.js │ └── styles │ │ └── custom.css │ ├── backends.rst │ ├── conf.py │ ├── events.rst │ ├── index.rst │ ├── platypush │ ├── backend │ │ ├── http.rst │ │ ├── nodered.rst │ │ ├── redis.rst │ │ └── tcp.rst │ ├── events │ │ ├── adafruit.rst │ │ ├── alarm.rst │ │ ├── application.rst │ │ ├── assistant.rst │ │ ├── bluetooth.rst │ │ ├── camera.rst │ │ ├── chat.slack.rst │ │ ├── clipboard.rst │ │ ├── custom.rst │ │ ├── dbus.rst │ │ ├── distance.rst │ │ ├── entities.rst │ │ ├── file.rst │ │ ├── flic.rst │ │ ├── foursquare.rst │ │ ├── geo.rst │ │ ├── github.rst │ │ ├── google.pubsub.rst │ │ ├── google.rst │ │ ├── gotify.rst │ │ ├── gpio.rst │ │ ├── gps.rst │ │ ├── hid.rst │ │ ├── http.hook.rst │ │ ├── http.rss.rst │ │ ├── http.rst │ │ ├── inotify.rst │ │ ├── irc.rst │ │ ├── joystick.rst │ │ ├── kafka.rst │ │ ├── light.rst │ │ ├── linode.rst │ │ ├── log.http.rst │ │ ├── mail.rst │ │ ├── matrix.rst │ │ ├── media.rst │ │ ├── midi.rst │ │ ├── mqtt.rst │ │ ├── music.rst │ │ ├── music.snapcast.rst │ │ ├── music.tidal.rst │ │ ├── nextcloud.rst │ │ ├── nfc.rst │ │ ├── ngrok.rst │ │ ├── ntfy.rst │ │ ├── ping.rst │ │ ├── pushbullet.rst │ │ ├── qrcode.rst │ │ ├── rss.rst │ │ ├── scard.rst │ │ ├── sensor.ir.rst │ │ ├── sensor.leap.rst │ │ ├── sensor.light.rst │ │ ├── sensor.rst │ │ ├── serial.rst │ │ ├── sound.rst │ │ ├── stt.rst │ │ ├── sun.rst │ │ ├── telegram.rst │ │ ├── tensorflow.rst │ │ ├── torrent.rst │ │ ├── trello.rst │ │ ├── video.rst │ │ ├── weather.rst │ │ ├── web.rst │ │ ├── web.widget.rst │ │ ├── websocket.rst │ │ ├── xmpp.rst │ │ ├── zeroborg.rst │ │ ├── zeroconf.rst │ │ ├── zigbee.mqtt.rst │ │ └── zwave.rst │ └── plugins │ │ ├── adafruit.io.rst │ │ ├── alarm.rst │ │ ├── application.rst │ │ ├── arduino.rst │ │ ├── assistant.google.rst │ │ ├── assistant.openai.rst │ │ ├── assistant.picovoice.rst │ │ ├── autoremote.rst │ │ ├── bluetooth.rst │ │ ├── calendar.ical.rst │ │ ├── calendar.rst │ │ ├── camera.android.ipcam.rst │ │ ├── camera.cv.rst │ │ ├── camera.ffmpeg.rst │ │ ├── camera.gstreamer.rst │ │ ├── camera.ir.mlx90640.rst │ │ ├── camera.pi.legacy.rst │ │ ├── camera.pi.rst │ │ ├── clipboard.rst │ │ ├── config.rst │ │ ├── csv.rst │ │ ├── cups.rst │ │ ├── db.rst │ │ ├── dbus.rst │ │ ├── dropbox.rst │ │ ├── entities.rst │ │ ├── esp.rst │ │ ├── ffmpeg.rst │ │ ├── file.monitor.rst │ │ ├── file.rst │ │ ├── flic.rst │ │ ├── foursquare.rst │ │ ├── github.rst │ │ ├── google.calendar.rst │ │ ├── google.drive.rst │ │ ├── google.mail.rst │ │ ├── google.maps.rst │ │ ├── google.pubsub.rst │ │ ├── google.translate.rst │ │ ├── gotify.rst │ │ ├── gpio.rst │ │ ├── gpio.zeroborg.rst │ │ ├── gps.rst │ │ ├── graphite.rst │ │ ├── hid.rst │ │ ├── http.rst │ │ ├── http.webpage.rst │ │ ├── ifttt.rst │ │ ├── inspect.rst │ │ ├── irc.rst │ │ ├── joystick.rst │ │ ├── kafka.rst │ │ ├── lastfm.rst │ │ ├── lcd.gpio.rst │ │ ├── lcd.i2c.rst │ │ ├── leap.rst │ │ ├── light.hue.rst │ │ ├── linode.rst │ │ ├── log.http.rst │ │ ├── logger.rst │ │ ├── luma.oled.rst │ │ ├── mail.rst │ │ ├── mailgun.rst │ │ ├── mastodon.rst │ │ ├── matrix.rst │ │ ├── media.chromecast.rst │ │ ├── media.gstreamer.rst │ │ ├── media.jellyfin.rst │ │ ├── media.kodi.rst │ │ ├── media.mplayer.rst │ │ ├── media.mpv.rst │ │ ├── media.plex.rst │ │ ├── media.subtitles.rst │ │ ├── media.vlc.rst │ │ ├── media.webtorrent.rst │ │ ├── midi.rst │ │ ├── ml.cv.rst │ │ ├── mobile.join.rst │ │ ├── mqtt.rst │ │ ├── music.mopidy.rst │ │ ├── music.mpd.rst │ │ ├── music.snapcast.rst │ │ ├── music.spotify.rst │ │ ├── music.tidal.rst │ │ ├── nextcloud.rst │ │ ├── nfc.rst │ │ ├── ngrok.rst │ │ ├── nmap.rst │ │ ├── ntfy.rst │ │ ├── openai.rst │ │ ├── otp.rst │ │ ├── pihole.rst │ │ ├── ping.rst │ │ ├── procedures.rst │ │ ├── pushbullet.rst │ │ ├── pwm.pca9685.rst │ │ ├── qrcode.rst │ │ ├── redis.rst │ │ ├── rss.rst │ │ ├── rtorrent.rst │ │ ├── sensor.bme280.rst │ │ ├── sensor.dht.rst │ │ ├── sensor.distance.vl53l1x.rst │ │ ├── sensor.envirophat.rst │ │ ├── sensor.hcsr04.rst │ │ ├── sensor.lis3dh.rst │ │ ├── sensor.ltr559.rst │ │ ├── sensor.mcp3008.rst │ │ ├── sensor.pmw3901.rst │ │ ├── serial.rst │ │ ├── shell.rst │ │ ├── slack.rst │ │ ├── smartthings.rst │ │ ├── sound.rst │ │ ├── ssh.rst │ │ ├── sun.rst │ │ ├── switch.tplink.rst │ │ ├── switch.wemo.rst │ │ ├── switchbot.rst │ │ ├── system.rst │ │ ├── tcp.rst │ │ ├── telegram.rst │ │ ├── tensorflow.rst │ │ ├── todoist.rst │ │ ├── torrent.rst │ │ ├── trello.rst │ │ ├── tts.google.rst │ │ ├── tts.mimic3.rst │ │ ├── tts.openai.rst │ │ ├── tts.picovoice.rst │ │ ├── tts.rst │ │ ├── tv.samsung.ws.rst │ │ ├── twilio.rst │ │ ├── udp.rst │ │ ├── user.rst │ │ ├── utils.rst │ │ ├── variable.rst │ │ ├── wallabag.rst │ │ ├── weather.buienradar.rst │ │ ├── weather.openweathermap.rst │ │ ├── websocket.rst │ │ ├── xmpp.rst │ │ ├── youtube.rst │ │ ├── zeroconf.rst │ │ ├── zigbee.mqtt.rst │ │ └── zwave.mqtt.rst │ └── plugins.rst ├── examples ├── config │ ├── config.yaml │ ├── dashboard.xml │ └── hook.py ├── nginx │ └── nginx.sample.conf └── systemd │ └── platypush.service ├── generate_missing_docs.py ├── platypush ├── __init__.py ├── __main__.py ├── app │ ├── __init__.py │ ├── __main__.py │ └── _app.py ├── backend │ ├── __init__.py │ ├── http │ │ ├── __init__.py │ │ ├── app │ │ │ ├── __init__.py │ │ │ ├── mixins │ │ │ │ └── __init__.py │ │ │ ├── routes │ │ │ │ ├── __init__.py │ │ │ │ ├── auth.py │ │ │ │ ├── dashboard.py │ │ │ │ ├── execute.py │ │ │ │ ├── hook.py │ │ │ │ ├── index.py │ │ │ │ ├── logo.py │ │ │ │ ├── logout.py │ │ │ │ ├── otp.py │ │ │ │ ├── plugin.py │ │ │ │ ├── plugins │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── camera │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── pi.py │ │ │ │ │ ├── qrcode │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── spotify.py │ │ │ │ │ └── tts │ │ │ │ │ │ └── __init__.py │ │ │ │ ├── pwa.py │ │ │ │ └── resources.py │ │ │ ├── streaming │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ └── plugins │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── camera.py │ │ │ │ │ ├── file.py │ │ │ │ │ ├── media │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _constants.py │ │ │ │ │ ├── _register.py │ │ │ │ │ ├── _registry.py │ │ │ │ │ ├── _stream.py │ │ │ │ │ ├── _subtitles.py │ │ │ │ │ └── _unregister.py │ │ │ │ │ └── sound.py │ │ │ ├── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── auth │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── status.py │ │ │ │ ├── bus.py │ │ │ │ ├── logger.py │ │ │ │ ├── routes.py │ │ │ │ ├── streaming.py │ │ │ │ └── ws.py │ │ │ └── ws │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── cmd.py │ │ │ │ ├── events.py │ │ │ │ ├── monitor.py │ │ │ │ └── requests.py │ │ ├── manifest.json │ │ ├── media │ │ │ ├── __init__.py │ │ │ └── handlers │ │ │ │ ├── __init__.py │ │ │ │ └── file.py │ │ ├── utils.py │ │ └── webapp │ │ │ ├── .eslintrc.js │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── babel.config.js │ │ │ ├── dist │ │ │ ├── favicon.ico │ │ │ ├── fonts │ │ │ │ ├── Poppins.ttf │ │ │ │ └── poppins.css │ │ │ ├── icons │ │ │ │ ├── jellyfin.svg │ │ │ │ ├── kodi.svg │ │ │ │ ├── openweathermap │ │ │ │ │ ├── black │ │ │ │ │ │ ├── 01d.png │ │ │ │ │ │ ├── 01n.png │ │ │ │ │ │ ├── 02d.png │ │ │ │ │ │ ├── 02n.png │ │ │ │ │ │ ├── 03d.png │ │ │ │ │ │ ├── 03n.png │ │ │ │ │ │ ├── 04d.png │ │ │ │ │ │ ├── 04n.png │ │ │ │ │ │ ├── 09d.png │ │ │ │ │ │ ├── 09n.png │ │ │ │ │ │ ├── 10d.png │ │ │ │ │ │ ├── 10n.png │ │ │ │ │ │ ├── 11d.png │ │ │ │ │ │ ├── 11n.png │ │ │ │ │ │ ├── 13d.png │ │ │ │ │ │ ├── 13n.png │ │ │ │ │ │ ├── 50d.png │ │ │ │ │ │ ├── 50n.png │ │ │ │ │ │ └── unknown.png │ │ │ │ │ ├── dark │ │ │ │ │ │ ├── 01d.png │ │ │ │ │ │ ├── 01n.png │ │ │ │ │ │ ├── 02d.png │ │ │ │ │ │ ├── 02n.png │ │ │ │ │ │ ├── 03d.png │ │ │ │ │ │ ├── 03n.png │ │ │ │ │ │ ├── 04d.png │ │ │ │ │ │ ├── 04n.png │ │ │ │ │ │ ├── 09d.png │ │ │ │ │ │ ├── 09n.png │ │ │ │ │ │ ├── 10d.png │ │ │ │ │ │ ├── 10n.png │ │ │ │ │ │ ├── 11d.png │ │ │ │ │ │ ├── 11n.png │ │ │ │ │ │ ├── 13d.png │ │ │ │ │ │ ├── 13n.png │ │ │ │ │ │ ├── 50d.png │ │ │ │ │ │ ├── 50n.png │ │ │ │ │ │ └── unknown.png │ │ │ │ │ ├── light │ │ │ │ │ │ ├── 01d.png │ │ │ │ │ │ ├── 01n.png │ │ │ │ │ │ ├── 02d.png │ │ │ │ │ │ ├── 02n.png │ │ │ │ │ │ ├── 03d.png │ │ │ │ │ │ ├── 03n.png │ │ │ │ │ │ ├── 04d.png │ │ │ │ │ │ ├── 04n.png │ │ │ │ │ │ ├── 09d.png │ │ │ │ │ │ ├── 09n.png │ │ │ │ │ │ ├── 10d.png │ │ │ │ │ │ ├── 10n.png │ │ │ │ │ │ ├── 11d.png │ │ │ │ │ │ ├── 11n.png │ │ │ │ │ │ ├── 13d.png │ │ │ │ │ │ ├── 13n.png │ │ │ │ │ │ ├── 50d.png │ │ │ │ │ │ ├── 50n.png │ │ │ │ │ │ └── unknown.png │ │ │ │ │ └── white │ │ │ │ │ │ ├── 01d.png │ │ │ │ │ │ ├── 01n.png │ │ │ │ │ │ ├── 02d.png │ │ │ │ │ │ ├── 02n.png │ │ │ │ │ │ ├── 03d.png │ │ │ │ │ │ ├── 03n.png │ │ │ │ │ │ ├── 04d.png │ │ │ │ │ │ ├── 04n.png │ │ │ │ │ │ ├── 09d.png │ │ │ │ │ │ ├── 09n.png │ │ │ │ │ │ ├── 10d.png │ │ │ │ │ │ ├── 10n.png │ │ │ │ │ │ ├── 11d.png │ │ │ │ │ │ ├── 11n.png │ │ │ │ │ │ ├── 13d.png │ │ │ │ │ │ ├── 13n.png │ │ │ │ │ │ ├── 50d.png │ │ │ │ │ │ ├── 50n.png │ │ │ │ │ │ └── unknown.png │ │ │ │ ├── plex.svg │ │ │ │ ├── smartthings.png │ │ │ │ ├── z-wave.png │ │ │ │ └── zigbee.svg │ │ │ ├── img │ │ │ │ ├── dashboard-bg-light.jpg │ │ │ │ ├── icons │ │ │ │ │ ├── android-chrome-192x192.png │ │ │ │ │ ├── android-chrome-512x512.png │ │ │ │ │ ├── android-chrome-maskable-192x192.png │ │ │ │ │ ├── android-chrome-maskable-512x512.png │ │ │ │ │ ├── apple-touch-icon-120x120.png │ │ │ │ │ ├── apple-touch-icon-152x152.png │ │ │ │ │ ├── apple-touch-icon-180x180.png │ │ │ │ │ ├── apple-touch-icon-60x60.png │ │ │ │ │ ├── apple-touch-icon-76x76.png │ │ │ │ │ ├── apple-touch-icon.png │ │ │ │ │ ├── favicon-16x16.png │ │ │ │ │ ├── favicon-32x32.png │ │ │ │ │ ├── favicon.svg │ │ │ │ │ ├── logo-256x256.png │ │ │ │ │ ├── msapplication-icon-144x144.png │ │ │ │ │ ├── mstile-150x150.png │ │ │ │ │ └── safari-pinned-tab.svg │ │ │ │ ├── logo.png │ │ │ │ └── spinner.gif │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ ├── service-worker.js │ │ │ ├── service-worker.js.map │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ ├── 1008.80353e6d.css │ │ │ │ │ ├── 1131.f2c6f156.css │ │ │ │ │ ├── 1146.58e6489b.css │ │ │ │ │ ├── 1233.3f56e509.css │ │ │ │ │ ├── 1264.062e0c94.css │ │ │ │ │ ├── 1367.204be919.css │ │ │ │ │ ├── 1381.af8a2a60.css │ │ │ │ │ ├── 1433.deda1679.css │ │ │ │ │ ├── 1562.45217ed0.css │ │ │ │ │ ├── 1671.44836618.css │ │ │ │ │ ├── 1758.4b68dcc1.css │ │ │ │ │ ├── 1861.f0ce1f42.css │ │ │ │ │ ├── 1995.b27ff6b3.css │ │ │ │ │ ├── 2256.708edd2b.css │ │ │ │ │ ├── 2353.28e81942.css │ │ │ │ │ ├── 2375.14c0a64c.css │ │ │ │ │ ├── 2486.b7e8560d.css │ │ │ │ │ ├── 2526.da215ea7.css │ │ │ │ │ ├── 2561.a0e1e73b.css │ │ │ │ │ ├── 2716.9a19b0d1.css │ │ │ │ │ ├── 2720.50cde06e.css │ │ │ │ │ ├── 2770.352e2032.css │ │ │ │ │ ├── 2808.e6cc03dc.css │ │ │ │ │ ├── 2981.a0990b57.css │ │ │ │ │ ├── 3024.f237ce6a.css │ │ │ │ │ ├── 3045.708edd2b.css │ │ │ │ │ ├── 3149.1439aeea.css │ │ │ │ │ ├── 3173.f7824cb9.css │ │ │ │ │ ├── 3178.be1ab054.css │ │ │ │ │ ├── 3289.8fe5b425.css │ │ │ │ │ ├── 3290.5a080a62.css │ │ │ │ │ ├── 3307.57230853.css │ │ │ │ │ ├── 3342.4897d2ff.css │ │ │ │ │ ├── 3373.eb2047be.css │ │ │ │ │ ├── 343.5944729a.css │ │ │ │ │ ├── 3477.6f756954.css │ │ │ │ │ ├── 3560.5764c6f4.css │ │ │ │ │ ├── 3586.fb75679d.css │ │ │ │ │ ├── 3841.ffd96967.css │ │ │ │ │ ├── 3851.a06f3c43.css │ │ │ │ │ ├── 3912.611abb15.css │ │ │ │ │ ├── 3923.b5594d80.css │ │ │ │ │ ├── 3950.bedfddb7.css │ │ │ │ │ ├── 3990.ce27bc78.css │ │ │ │ │ ├── 4280.b5d26f20.css │ │ │ │ │ ├── 4387.a44e466f.css │ │ │ │ │ ├── 4787.1a42ddca.css │ │ │ │ │ ├── 4973.ca7648f4.css │ │ │ │ │ ├── 5184.febeb48c.css │ │ │ │ │ ├── 5188.c14c28e9.css │ │ │ │ │ ├── 5201.dc5673af.css │ │ │ │ │ ├── 5268.bc057f22.css │ │ │ │ │ ├── 5350.64638d91.css │ │ │ │ │ ├── 5451.381007b7.css │ │ │ │ │ ├── 570.ffa69a2a.css │ │ │ │ │ ├── 572.9d3928a2.css │ │ │ │ │ ├── 5737.3c09554f.css │ │ │ │ │ ├── 5788.e253d1d5.css │ │ │ │ │ ├── 5799.2932b8cc.css │ │ │ │ │ ├── 5928.df56322e.css │ │ │ │ │ ├── 5953.8fd4b2fd.css │ │ │ │ │ ├── 6027.09fe1331.css │ │ │ │ │ ├── 6089.0ae4451e.css │ │ │ │ │ ├── 6127.5df5b182.css │ │ │ │ │ ├── 6157.2d11adc8.css │ │ │ │ │ ├── 6228.b8d5159d.css │ │ │ │ │ ├── 6360.77f77742.css │ │ │ │ │ ├── 648.5edaa185.css │ │ │ │ │ ├── 6556.b93403c3.css │ │ │ │ │ ├── 6564.9219493c.css │ │ │ │ │ ├── 6592.355557a9.css │ │ │ │ │ ├── 6594.fc14577a.css │ │ │ │ │ ├── 6708.71bfa9fa.css │ │ │ │ │ ├── 6777.e657a974.css │ │ │ │ │ ├── 6792.8865ea4a.css │ │ │ │ │ ├── 6864.0690bd8b.css │ │ │ │ │ ├── 6923.58c91f04.css │ │ │ │ │ ├── 7158.73f3ef00.css │ │ │ │ │ ├── 7222.21976e39.css │ │ │ │ │ ├── 753.bb05100a.css │ │ │ │ │ ├── 7594.66acebb6.css │ │ │ │ │ ├── 7619.f3fc7850.css │ │ │ │ │ ├── 7630.e84203b6.css │ │ │ │ │ ├── 7896.54b37efe.css │ │ │ │ │ ├── 806.91074688.css │ │ │ │ │ ├── 8082.b08bd0bb.css │ │ │ │ │ ├── 8223.e136d856.css │ │ │ │ │ ├── 8297.95ebacb3.css │ │ │ │ │ ├── 8466.9ddbde9a.css │ │ │ │ │ ├── 8602.e72123ff.css │ │ │ │ │ ├── 8652.20603fda.css │ │ │ │ │ ├── 8768.885e7a4c.css │ │ │ │ │ ├── 8944.dca0bf04.css │ │ │ │ │ ├── 8946.6137b3a0.css │ │ │ │ │ ├── 9246.4daed832.css │ │ │ │ │ ├── 9322.ea018a19.css │ │ │ │ │ ├── 9409.aa130b90.css │ │ │ │ │ ├── 9426.73c7ce9d.css │ │ │ │ │ ├── 9444.ae92bb88.css │ │ │ │ │ ├── 9469.460ea7ea.css │ │ │ │ │ ├── 9631.6193a6b0.css │ │ │ │ │ ├── 9636.8b16d712.css │ │ │ │ │ ├── 9748.57207909.css │ │ │ │ │ ├── 9769.213aa9d5.css │ │ │ │ │ ├── 9816.e29a4da3.css │ │ │ │ │ ├── 9954.1651fcc4.css │ │ │ │ │ ├── 9992.1bd62254.css │ │ │ │ │ ├── app.eb00bbd1.css │ │ │ │ │ ├── chunk-vendors.d510eff2.css │ │ │ │ │ ├── dashboard.3111af9d.css │ │ │ │ │ ├── panel.ee328688.css │ │ │ │ │ └── plugin.12cf4736.css │ │ │ │ ├── fonts │ │ │ │ │ ├── fa-brands-400.86ee2658.woff2 │ │ │ │ │ ├── fa-brands-400.8eaf0c88.ttf │ │ │ │ │ ├── fa-regular-400.849b82e2.woff2 │ │ │ │ │ ├── fa-regular-400.bd1cf947.ttf │ │ │ │ │ ├── fa-solid-900.7a5aa5ab.ttf │ │ │ │ │ ├── fa-solid-900.ee698398.woff2 │ │ │ │ │ ├── lato-medium-italic.1996cc15.woff │ │ │ │ │ ├── lato-medium-italic.1e312dd9.woff2 │ │ │ │ │ ├── lato-medium.13fcde4c.woff2 │ │ │ │ │ └── lato-medium.b41c3821.woff │ │ │ │ ├── img │ │ │ │ │ ├── ad.cb33f69a.svg │ │ │ │ │ ├── ad.fa8477e6.svg │ │ │ │ │ ├── ae.a3f5e295.svg │ │ │ │ │ ├── ae.f06e0095.svg │ │ │ │ │ ├── af.89591ab0.svg │ │ │ │ │ ├── af.8ca96393.svg │ │ │ │ │ ├── ag.4c37bc2e.svg │ │ │ │ │ ├── ag.56074d55.svg │ │ │ │ │ ├── ai.70eefdc0.svg │ │ │ │ │ ├── ai.893d1179.svg │ │ │ │ │ ├── al.b16acdb2.svg │ │ │ │ │ ├── al.e0864b5d.svg │ │ │ │ │ ├── am.00f0fec4.svg │ │ │ │ │ ├── am.a566904f.svg │ │ │ │ │ ├── ao.3df23f21.svg │ │ │ │ │ ├── ao.c0c32201.svg │ │ │ │ │ ├── aq.1b8c45a6.svg │ │ │ │ │ ├── aq.aa242c4a.svg │ │ │ │ │ ├── ar.22a3116e.svg │ │ │ │ │ ├── ar.d3238270.svg │ │ │ │ │ ├── as.10ed1a23.svg │ │ │ │ │ ├── as.4a330654.svg │ │ │ │ │ ├── at.02a64279.svg │ │ │ │ │ ├── at.94cde74c.svg │ │ │ │ │ ├── au.cc65fc07.svg │ │ │ │ │ ├── au.dbcdef2c.svg │ │ │ │ │ ├── aw.abbad4ac.svg │ │ │ │ │ ├── aw.be4540eb.svg │ │ │ │ │ ├── ax.371c7af2.svg │ │ │ │ │ ├── ax.91eea523.svg │ │ │ │ │ ├── az.0e2f1d1a.svg │ │ │ │ │ ├── az.f399f1c8.svg │ │ │ │ │ ├── ba.032070d4.svg │ │ │ │ │ ├── ba.e167b08f.svg │ │ │ │ │ ├── bb.23a15e67.svg │ │ │ │ │ ├── bb.b800513b.svg │ │ │ │ │ ├── bd.c1abcb00.svg │ │ │ │ │ ├── bd.c4a5f0e2.svg │ │ │ │ │ ├── be.29774a37.svg │ │ │ │ │ ├── be.3eb14701.svg │ │ │ │ │ ├── bf.2334e919.svg │ │ │ │ │ ├── bf.4ffd5dc6.svg │ │ │ │ │ ├── bg.700f100c.svg │ │ │ │ │ ├── bg.d0a49130.svg │ │ │ │ │ ├── bh.2a884f6c.svg │ │ │ │ │ ├── bh.3968dfe0.svg │ │ │ │ │ ├── bi.211d0f9e.svg │ │ │ │ │ ├── bi.ae3bb248.svg │ │ │ │ │ ├── bj.2cdc8a62.svg │ │ │ │ │ ├── bj.aba95ad2.svg │ │ │ │ │ ├── bl.04966866.svg │ │ │ │ │ ├── bl.3e69e968.svg │ │ │ │ │ ├── bm.e6903c8e.svg │ │ │ │ │ ├── bm.e69e40c4.svg │ │ │ │ │ ├── bn.07911e0c.svg │ │ │ │ │ ├── bn.4d91734a.svg │ │ │ │ │ ├── bo.03595499.svg │ │ │ │ │ ├── bo.9c1d9ef8.svg │ │ │ │ │ ├── bq.747d8177.svg │ │ │ │ │ ├── bq.b9355bec.svg │ │ │ │ │ ├── br.058a5086.svg │ │ │ │ │ ├── br.fe030c1c.svg │ │ │ │ │ ├── bs.d228cbb2.svg │ │ │ │ │ ├── bs.ef0a29ed.svg │ │ │ │ │ ├── bt.3f8ecb9b.svg │ │ │ │ │ ├── bt.fc241981.svg │ │ │ │ │ ├── bv.5503f03a.svg │ │ │ │ │ ├── bv.7f7cd26f.svg │ │ │ │ │ ├── bw.494aae64.svg │ │ │ │ │ ├── bw.b767df8c.svg │ │ │ │ │ ├── by.78d2c3c9.svg │ │ │ │ │ ├── by.fba98c48.svg │ │ │ │ │ ├── bz.14c3376a.svg │ │ │ │ │ ├── bz.5e0ef548.svg │ │ │ │ │ ├── ca.163ac200.svg │ │ │ │ │ ├── ca.a2ab234d.svg │ │ │ │ │ ├── cc.51960f85.svg │ │ │ │ │ ├── cc.813adff8.svg │ │ │ │ │ ├── cd.39186ec2.svg │ │ │ │ │ ├── cd.b4bd46ee.svg │ │ │ │ │ ├── cf.b5702729.svg │ │ │ │ │ ├── cf.fe1120e9.svg │ │ │ │ │ ├── cg.00603842.svg │ │ │ │ │ ├── cg.12414c99.svg │ │ │ │ │ ├── ch.7376c9c3.svg │ │ │ │ │ ├── ch.a558d859.svg │ │ │ │ │ ├── ci.1251a8e3.svg │ │ │ │ │ ├── ci.425a24c2.svg │ │ │ │ │ ├── ck.4e83dd3e.svg │ │ │ │ │ ├── ck.6303aa5b.svg │ │ │ │ │ ├── cl.0917a91e.svg │ │ │ │ │ ├── cl.b5974a35.svg │ │ │ │ │ ├── cm.253adb39.svg │ │ │ │ │ ├── cm.853e2843.svg │ │ │ │ │ ├── cn.38f63e1e.svg │ │ │ │ │ ├── cn.e1b166eb.svg │ │ │ │ │ ├── co.33e249d8.svg │ │ │ │ │ ├── co.b5cbc817.svg │ │ │ │ │ ├── cr.2e572846.svg │ │ │ │ │ ├── cr.336eb7d3.svg │ │ │ │ │ ├── cu.c2a6f0ed.svg │ │ │ │ │ ├── cu.d6e33f19.svg │ │ │ │ │ ├── cv.5ea64968.svg │ │ │ │ │ ├── cv.b3ab83f5.svg │ │ │ │ │ ├── cw.0e14b0b7.svg │ │ │ │ │ ├── cw.9b9b7ed5.svg │ │ │ │ │ ├── cx.da5de6d2.svg │ │ │ │ │ ├── cx.e04e07e8.svg │ │ │ │ │ ├── cy.834e6240.svg │ │ │ │ │ ├── cy.bfcfd736.svg │ │ │ │ │ ├── cz.aa114964.svg │ │ │ │ │ ├── cz.b5f98a6b.svg │ │ │ │ │ ├── dashboard-bg-light.06da6eab.jpg │ │ │ │ │ ├── de.8e159e6e.svg │ │ │ │ │ ├── de.b827ac51.svg │ │ │ │ │ ├── dj.4197a18a.svg │ │ │ │ │ ├── dj.925748d5.svg │ │ │ │ │ ├── dk.3ca1caed.svg │ │ │ │ │ ├── dk.a867eeef.svg │ │ │ │ │ ├── dm.7ddb00ac.svg │ │ │ │ │ ├── dm.bca6d70c.svg │ │ │ │ │ ├── do.81097daa.svg │ │ │ │ │ ├── do.954f0f3e.svg │ │ │ │ │ ├── dz.76d47b01.svg │ │ │ │ │ ├── dz.b7e2fbce.svg │ │ │ │ │ ├── ec.0029f514.svg │ │ │ │ │ ├── ec.5f387e2f.svg │ │ │ │ │ ├── ee.1b4839e0.svg │ │ │ │ │ ├── ee.828384a8.svg │ │ │ │ │ ├── eg.38443fa6.svg │ │ │ │ │ ├── eg.5756a758.svg │ │ │ │ │ ├── eh.82bd1c7b.svg │ │ │ │ │ ├── eh.f8d7b64f.svg │ │ │ │ │ ├── er.bf5b134b.svg │ │ │ │ │ ├── er.e932abe1.svg │ │ │ │ │ ├── es-ct.64a68954.svg │ │ │ │ │ ├── es-ct.69469f50.svg │ │ │ │ │ ├── es.7dd46df0.svg │ │ │ │ │ ├── es.de5915e5.svg │ │ │ │ │ ├── et.82e8eb21.svg │ │ │ │ │ ├── et.a998a1b2.svg │ │ │ │ │ ├── eu.4c6e130f.svg │ │ │ │ │ ├── eu.aba724b1.svg │ │ │ │ │ ├── fi.0cd85b78.svg │ │ │ │ │ ├── fi.3be6b378.svg │ │ │ │ │ ├── fj.ac9c916f.svg │ │ │ │ │ ├── fj.e8d3e00b.svg │ │ │ │ │ ├── fk.af0350f8.svg │ │ │ │ │ ├── fk.db55fa14.svg │ │ │ │ │ ├── fm.3491efc7.svg │ │ │ │ │ ├── fm.78d44caa.svg │ │ │ │ │ ├── fo.1da81e3a.svg │ │ │ │ │ ├── fo.72949ad1.svg │ │ │ │ │ ├── fr.3565b8f4.svg │ │ │ │ │ ├── fr.9cb70285.svg │ │ │ │ │ ├── ga.3e474381.svg │ │ │ │ │ ├── ga.59f7d865.svg │ │ │ │ │ ├── gb-eng.0fac6e79.svg │ │ │ │ │ ├── gb-eng.513dcf1b.svg │ │ │ │ │ ├── gb-nir.2b7d2c3a.svg │ │ │ │ │ ├── gb-nir.f59817d6.svg │ │ │ │ │ ├── gb-sct.f5001e5d.svg │ │ │ │ │ ├── gb-sct.fee55173.svg │ │ │ │ │ ├── gb-wls.13481560.svg │ │ │ │ │ ├── gb-wls.95b2cfab.svg │ │ │ │ │ ├── gb.2aafb374.svg │ │ │ │ │ ├── gb.7a456bb2.svg │ │ │ │ │ ├── gd.04ea09b7.svg │ │ │ │ │ ├── gd.60b96978.svg │ │ │ │ │ ├── ge.b7b65b55.svg │ │ │ │ │ ├── ge.c7190912.svg │ │ │ │ │ ├── gf.531f9e07.svg │ │ │ │ │ ├── gf.90f438a3.svg │ │ │ │ │ ├── gg.3aebc3ce.svg │ │ │ │ │ ├── gg.65174039.svg │ │ │ │ │ ├── gh.af443995.svg │ │ │ │ │ ├── gh.f2b6baac.svg │ │ │ │ │ ├── gi.302c2506.svg │ │ │ │ │ ├── gi.7beea6ed.svg │ │ │ │ │ ├── gl.551d0783.svg │ │ │ │ │ ├── gl.6a5c17b0.svg │ │ │ │ │ ├── gm.0e00e9d4.svg │ │ │ │ │ ├── gm.1724dc37.svg │ │ │ │ │ ├── gn.54a75b28.svg │ │ │ │ │ ├── gn.7c96520b.svg │ │ │ │ │ ├── gp.4327060f.svg │ │ │ │ │ ├── gp.f8adbf5c.svg │ │ │ │ │ ├── gq.b1679302.svg │ │ │ │ │ ├── gq.bd7daf33.svg │ │ │ │ │ ├── gr.07bedadf.svg │ │ │ │ │ ├── gr.25dd3287.svg │ │ │ │ │ ├── gs.60368968.svg │ │ │ │ │ ├── gs.b2836676.svg │ │ │ │ │ ├── gt.1a24ed67.svg │ │ │ │ │ ├── gt.825f7286.svg │ │ │ │ │ ├── gu.05f0ab85.svg │ │ │ │ │ ├── gu.19b114eb.svg │ │ │ │ │ ├── gw.bcd1eddb.svg │ │ │ │ │ ├── gw.c97f3f94.svg │ │ │ │ │ ├── gy.6327f72a.svg │ │ │ │ │ ├── gy.e11d0234.svg │ │ │ │ │ ├── hk.b199a9ee.svg │ │ │ │ │ ├── hk.c72bba0e.svg │ │ │ │ │ ├── hm.4aa61657.svg │ │ │ │ │ ├── hm.d4b3d393.svg │ │ │ │ │ ├── hn.08ad78b2.svg │ │ │ │ │ ├── hn.44cee191.svg │ │ │ │ │ ├── hr.078b1bf9.svg │ │ │ │ │ ├── hr.1f4e28b8.svg │ │ │ │ │ ├── ht.6943447c.svg │ │ │ │ │ ├── ht.7ca68737.svg │ │ │ │ │ ├── hu.692e97ca.svg │ │ │ │ │ ├── hu.b10d3f8e.svg │ │ │ │ │ ├── id.94464e47.svg │ │ │ │ │ ├── id.a05dc04c.svg │ │ │ │ │ ├── ie.5154112a.svg │ │ │ │ │ ├── ie.e23b25d1.svg │ │ │ │ │ ├── il.150f4c5f.svg │ │ │ │ │ ├── il.e02a66d3.svg │ │ │ │ │ ├── im.25166c91.svg │ │ │ │ │ ├── im.942419c5.svg │ │ │ │ │ ├── in.954929a0.svg │ │ │ │ │ ├── in.bd0d4f19.svg │ │ │ │ │ ├── io.a59923ab.svg │ │ │ │ │ ├── io.fa003484.svg │ │ │ │ │ ├── iq.1232a5c2.svg │ │ │ │ │ ├── iq.9a48d678.svg │ │ │ │ │ ├── ir.1ed24953.svg │ │ │ │ │ ├── ir.bc7ae9e1.svg │ │ │ │ │ ├── is.cad57f19.svg │ │ │ │ │ ├── is.eea59326.svg │ │ │ │ │ ├── it.039b4527.svg │ │ │ │ │ ├── it.e8516fc7.svg │ │ │ │ │ ├── je.1684dacc.svg │ │ │ │ │ ├── je.3ed72a25.svg │ │ │ │ │ ├── jellyfin.7b53a541.svg │ │ │ │ │ ├── jm.2357530e.svg │ │ │ │ │ ├── jm.479f30fe.svg │ │ │ │ │ ├── jo.06fbaa2c.svg │ │ │ │ │ ├── jo.7ac45a65.svg │ │ │ │ │ ├── jp.1795778c.svg │ │ │ │ │ ├── jp.b6063838.svg │ │ │ │ │ ├── ke.6dbfffd5.svg │ │ │ │ │ ├── ke.769bb975.svg │ │ │ │ │ ├── kg.96c12490.svg │ │ │ │ │ ├── kg.daded53c.svg │ │ │ │ │ ├── kh.8eeb1634.svg │ │ │ │ │ ├── kh.b10339d6.svg │ │ │ │ │ ├── ki.033ff9ce.svg │ │ │ │ │ ├── ki.89e43a21.svg │ │ │ │ │ ├── km.1e3bd5fe.svg │ │ │ │ │ ├── km.3ffb0228.svg │ │ │ │ │ ├── kn.0c16fe68.svg │ │ │ │ │ ├── kn.8f2e7b29.svg │ │ │ │ │ ├── kodi.d18f8d23.svg │ │ │ │ │ ├── kp.0f5253d8.svg │ │ │ │ │ ├── kp.f4ff9e76.svg │ │ │ │ │ ├── kr.0dc8b972.svg │ │ │ │ │ ├── kr.0f5e1116.svg │ │ │ │ │ ├── kw.3b4f3ea3.svg │ │ │ │ │ ├── kw.830d3755.svg │ │ │ │ │ ├── ky.be81d90b.svg │ │ │ │ │ ├── ky.e3b76b32.svg │ │ │ │ │ ├── kz.32ac1036.svg │ │ │ │ │ ├── kz.579ac0f9.svg │ │ │ │ │ ├── la.e583f8ec.svg │ │ │ │ │ ├── la.f71017ef.svg │ │ │ │ │ ├── lb.8eea508a.svg │ │ │ │ │ ├── lb.bdbeb8f1.svg │ │ │ │ │ ├── lc.25f644a6.svg │ │ │ │ │ ├── lc.68bd77ae.svg │ │ │ │ │ ├── li.8dc1ed79.svg │ │ │ │ │ ├── li.d7e2a871.svg │ │ │ │ │ ├── lk.42c41c61.svg │ │ │ │ │ ├── lk.e52240d6.svg │ │ │ │ │ ├── lr.5b84ff00.svg │ │ │ │ │ ├── lr.9a67cd3d.svg │ │ │ │ │ ├── ls.6d444cae.svg │ │ │ │ │ ├── ls.fe1da403.svg │ │ │ │ │ ├── lt.03a2e8c1.svg │ │ │ │ │ ├── lt.b57ea2a8.svg │ │ │ │ │ ├── lu.93878a1b.svg │ │ │ │ │ ├── lu.e3bdc6d3.svg │ │ │ │ │ ├── lv.1853e3a0.svg │ │ │ │ │ ├── lv.679c099e.svg │ │ │ │ │ ├── ly.05f8732e.svg │ │ │ │ │ ├── ly.b9e750ff.svg │ │ │ │ │ ├── ma.65053fc4.svg │ │ │ │ │ ├── ma.88ada30c.svg │ │ │ │ │ ├── mc.2c03ea5c.svg │ │ │ │ │ ├── mc.89b532e8.svg │ │ │ │ │ ├── md.646818c3.svg │ │ │ │ │ ├── md.a56562ee.svg │ │ │ │ │ ├── me.2e71b778.svg │ │ │ │ │ ├── me.f05548f2.svg │ │ │ │ │ ├── mf.70d09a4a.svg │ │ │ │ │ ├── mf.7da6b3d2.svg │ │ │ │ │ ├── mg.09ca17b2.svg │ │ │ │ │ ├── mg.b3fff4a6.svg │ │ │ │ │ ├── mh.3fd69bb2.svg │ │ │ │ │ ├── mh.f6cbc774.svg │ │ │ │ │ ├── mk.4234a248.svg │ │ │ │ │ ├── mk.e5412079.svg │ │ │ │ │ ├── ml.3fad079e.svg │ │ │ │ │ ├── ml.4f0dba9e.svg │ │ │ │ │ ├── mm.8ac1f094.svg │ │ │ │ │ ├── mm.adaa2111.svg │ │ │ │ │ ├── mn.78547af0.svg │ │ │ │ │ ├── mn.a4bcb0e6.svg │ │ │ │ │ ├── mo.2f0d2c15.svg │ │ │ │ │ ├── mo.c8198565.svg │ │ │ │ │ ├── mp.2acb5506.svg │ │ │ │ │ ├── mp.eeeefff6.svg │ │ │ │ │ ├── mq.145a7657.svg │ │ │ │ │ ├── mq.bb36a8fc.svg │ │ │ │ │ ├── mr.dd34eae8.svg │ │ │ │ │ ├── mr.e91e06ea.svg │ │ │ │ │ ├── ms.2025cd7d.svg │ │ │ │ │ ├── ms.b13001dc.svg │ │ │ │ │ ├── mt.b6f71c85.svg │ │ │ │ │ ├── mt.cff39ee0.svg │ │ │ │ │ ├── mu.51f71163.svg │ │ │ │ │ ├── mu.a926c232.svg │ │ │ │ │ ├── mv.2c8b92b5.svg │ │ │ │ │ ├── mv.ba4de4fd.svg │ │ │ │ │ ├── mw.0b005148.svg │ │ │ │ │ ├── mw.f704f4bb.svg │ │ │ │ │ ├── mx.1b615ec2.svg │ │ │ │ │ ├── mx.8a36b075.svg │ │ │ │ │ ├── my.4109ae71.svg │ │ │ │ │ ├── my.69c87fc5.svg │ │ │ │ │ ├── mz.1377650b.svg │ │ │ │ │ ├── mz.2c96acb1.svg │ │ │ │ │ ├── na.7adf4344.svg │ │ │ │ │ ├── na.e0503926.svg │ │ │ │ │ ├── nc.96fa6a4b.svg │ │ │ │ │ ├── nc.b5a5d41b.svg │ │ │ │ │ ├── ne.d11b82c6.svg │ │ │ │ │ ├── ne.d4fe4faa.svg │ │ │ │ │ ├── nf.1e8c700b.svg │ │ │ │ │ ├── nf.a7166b00.svg │ │ │ │ │ ├── ng.51059407.svg │ │ │ │ │ ├── ng.c3b42ad2.svg │ │ │ │ │ ├── ni.5b80bac0.svg │ │ │ │ │ ├── ni.cc7eb514.svg │ │ │ │ │ ├── nl.dd138444.svg │ │ │ │ │ ├── nl.e415f0e7.svg │ │ │ │ │ ├── no.26996afa.svg │ │ │ │ │ ├── no.70157234.svg │ │ │ │ │ ├── np.954177a0.svg │ │ │ │ │ ├── np.f7b8a5c3.svg │ │ │ │ │ ├── nr.2c66d218.svg │ │ │ │ │ ├── nr.a4f0e762.svg │ │ │ │ │ ├── nu.26551dc2.svg │ │ │ │ │ ├── nu.860bbe8a.svg │ │ │ │ │ ├── nz.38d0d690.svg │ │ │ │ │ ├── nz.c77ae58d.svg │ │ │ │ │ ├── om.3f5691ca.svg │ │ │ │ │ ├── om.ff034f9e.svg │ │ │ │ │ ├── pa.6dc8212a.svg │ │ │ │ │ ├── pa.acde3214.svg │ │ │ │ │ ├── pe.5a3b0bc5.svg │ │ │ │ │ ├── pe.5c2ced95.svg │ │ │ │ │ ├── pf.9f06082b.svg │ │ │ │ │ ├── pf.f6ae1bc8.svg │ │ │ │ │ ├── pg.26847b33.svg │ │ │ │ │ ├── pg.66c8dc3b.svg │ │ │ │ │ ├── ph.12e2b123.svg │ │ │ │ │ ├── ph.f215833e.svg │ │ │ │ │ ├── pk.0bbf58be.svg │ │ │ │ │ ├── pk.32b55f6f.svg │ │ │ │ │ ├── pl.03886843.svg │ │ │ │ │ ├── pl.a1350f0c.svg │ │ │ │ │ ├── plex.7a4e22a6.svg │ │ │ │ │ ├── pm.7a6beab5.svg │ │ │ │ │ ├── pm.a5590fa3.svg │ │ │ │ │ ├── pn.00a9342b.svg │ │ │ │ │ ├── pn.715fd11d.svg │ │ │ │ │ ├── pr.391a48e2.svg │ │ │ │ │ ├── pr.b37cbdc4.svg │ │ │ │ │ ├── ps.1af72ed4.svg │ │ │ │ │ ├── ps.96bcac74.svg │ │ │ │ │ ├── pt.0703cc3a.svg │ │ │ │ │ ├── pt.351b87cb.svg │ │ │ │ │ ├── pw.17220ffb.svg │ │ │ │ │ ├── pw.6d8e7ce0.svg │ │ │ │ │ ├── py.25cc39e3.svg │ │ │ │ │ ├── py.c20318c9.svg │ │ │ │ │ ├── qa.7e695788.svg │ │ │ │ │ ├── qa.86452d7a.svg │ │ │ │ │ ├── re.b8140129.svg │ │ │ │ │ ├── re.cf143c2f.svg │ │ │ │ │ ├── ro.67f8501e.svg │ │ │ │ │ ├── ro.cab93784.svg │ │ │ │ │ ├── rs.23638d75.svg │ │ │ │ │ ├── rs.ae2e3422.svg │ │ │ │ │ ├── ru.ccd50623.svg │ │ │ │ │ ├── ru.edd8b008.svg │ │ │ │ │ ├── rw.87d5d899.svg │ │ │ │ │ ├── rw.d118aacd.svg │ │ │ │ │ ├── sa.5bfbe72b.svg │ │ │ │ │ ├── sa.f0a8997b.svg │ │ │ │ │ ├── sb.1c406073.svg │ │ │ │ │ ├── sb.b0db5b0a.svg │ │ │ │ │ ├── sc.0452f14c.svg │ │ │ │ │ ├── sc.cdc20672.svg │ │ │ │ │ ├── sd.0e619868.svg │ │ │ │ │ ├── sd.da3b68ee.svg │ │ │ │ │ ├── se.7e499d82.svg │ │ │ │ │ ├── se.7ec71700.svg │ │ │ │ │ ├── sg.4f0e8eff.svg │ │ │ │ │ ├── sg.8a63b009.svg │ │ │ │ │ ├── sh.46e2588d.svg │ │ │ │ │ ├── sh.681f8fff.svg │ │ │ │ │ ├── si.2a428364.svg │ │ │ │ │ ├── si.d9d425c0.svg │ │ │ │ │ ├── sj.638e6522.svg │ │ │ │ │ ├── sj.92c583b8.svg │ │ │ │ │ ├── sk.7998d1f5.svg │ │ │ │ │ ├── sk.93c91c0b.svg │ │ │ │ │ ├── sl.d8378c47.svg │ │ │ │ │ ├── sl.eb9dda3f.svg │ │ │ │ │ ├── sm.0ba901f4.svg │ │ │ │ │ ├── sm.5e2fc188.svg │ │ │ │ │ ├── sn.4247b831.svg │ │ │ │ │ ├── sn.98923b55.svg │ │ │ │ │ ├── so.2d18a203.svg │ │ │ │ │ ├── so.45f08b28.svg │ │ │ │ │ ├── sr.cb178d98.svg │ │ │ │ │ ├── sr.d66c1240.svg │ │ │ │ │ ├── ss.caedfdf2.svg │ │ │ │ │ ├── ss.db181f81.svg │ │ │ │ │ ├── st.a70042c6.svg │ │ │ │ │ ├── st.ecc4827f.svg │ │ │ │ │ ├── sv.9501935a.svg │ │ │ │ │ ├── sv.f67839a6.svg │ │ │ │ │ ├── sx.77e864f0.svg │ │ │ │ │ ├── sx.c0e6297a.svg │ │ │ │ │ ├── sy.2b3eac89.svg │ │ │ │ │ ├── sy.7fe894df.svg │ │ │ │ │ ├── sz.70b6fc50.svg │ │ │ │ │ ├── sz.eb01cd9f.svg │ │ │ │ │ ├── tc.30ccd48e.svg │ │ │ │ │ ├── tc.651466dd.svg │ │ │ │ │ ├── td.5d622e26.svg │ │ │ │ │ ├── td.f1319408.svg │ │ │ │ │ ├── tf.27cbe00b.svg │ │ │ │ │ ├── tf.a1757237.svg │ │ │ │ │ ├── tg.b492a751.svg │ │ │ │ │ ├── tg.d04f874c.svg │ │ │ │ │ ├── th.79b63a8a.svg │ │ │ │ │ ├── th.b8e24edb.svg │ │ │ │ │ ├── tj.b7dafe8d.svg │ │ │ │ │ ├── tj.d3a42312.svg │ │ │ │ │ ├── tk.6c1f520c.svg │ │ │ │ │ ├── tk.f87f794b.svg │ │ │ │ │ ├── tl.85904d79.svg │ │ │ │ │ ├── tl.ca9af3c0.svg │ │ │ │ │ ├── tm.762df128.svg │ │ │ │ │ ├── tm.e467552c.svg │ │ │ │ │ ├── tn.cc3ab493.svg │ │ │ │ │ ├── tn.ff4c5190.svg │ │ │ │ │ ├── to.8dd22284.svg │ │ │ │ │ ├── to.9748a967.svg │ │ │ │ │ ├── tr.87e40d5c.svg │ │ │ │ │ ├── tr.fc8c91dd.svg │ │ │ │ │ ├── tt.4acf6cc2.svg │ │ │ │ │ ├── tt.5a459e81.svg │ │ │ │ │ ├── tv.9717b553.svg │ │ │ │ │ ├── tv.a8ff4939.svg │ │ │ │ │ ├── tw.45c8a106.svg │ │ │ │ │ ├── tw.c0cf9ea7.svg │ │ │ │ │ ├── tz.1abfbb38.svg │ │ │ │ │ ├── tz.c27fd405.svg │ │ │ │ │ ├── ua.04fa0e67.svg │ │ │ │ │ ├── ua.63d75c84.svg │ │ │ │ │ ├── ug.5ac71e98.svg │ │ │ │ │ ├── ug.5ae165a2.svg │ │ │ │ │ ├── um.582dd57b.svg │ │ │ │ │ ├── um.b38f913c.svg │ │ │ │ │ ├── un.2df110d6.svg │ │ │ │ │ ├── un.58a4a02a.svg │ │ │ │ │ ├── us.6c459052.svg │ │ │ │ │ ├── us.99e04236.svg │ │ │ │ │ ├── uy.69cf8938.svg │ │ │ │ │ ├── uy.b70ac310.svg │ │ │ │ │ ├── uz.7f8823a2.svg │ │ │ │ │ ├── uz.d53abc35.svg │ │ │ │ │ ├── va.7efb8ba6.svg │ │ │ │ │ ├── va.abcb42e8.svg │ │ │ │ │ ├── vc.37cf5ba1.svg │ │ │ │ │ ├── vc.3e4ac6d4.svg │ │ │ │ │ ├── ve.4cd0e3ed.svg │ │ │ │ │ ├── ve.9cd63506.svg │ │ │ │ │ ├── vg.025b8b6a.svg │ │ │ │ │ ├── vg.ae3b6f7e.svg │ │ │ │ │ ├── vi.293e6f1c.svg │ │ │ │ │ ├── vi.f920eec7.svg │ │ │ │ │ ├── vn.11dd1cf6.svg │ │ │ │ │ ├── vn.9ec4ca4d.svg │ │ │ │ │ ├── vu.5d2d7643.svg │ │ │ │ │ ├── vu.b7a8d91a.svg │ │ │ │ │ ├── wf.69c77016.svg │ │ │ │ │ ├── wf.9ca6f4bc.svg │ │ │ │ │ ├── ws.15c7a17c.svg │ │ │ │ │ ├── ws.d2e19e5a.svg │ │ │ │ │ ├── xk.16b6bb85.svg │ │ │ │ │ ├── xk.ca7843be.svg │ │ │ │ │ ├── ye.0b3f3c76.svg │ │ │ │ │ ├── ye.bb567731.svg │ │ │ │ │ ├── yt.332bd5d3.svg │ │ │ │ │ ├── yt.c33641ca.svg │ │ │ │ │ ├── za.2fa94205.svg │ │ │ │ │ ├── za.42e033a9.svg │ │ │ │ │ ├── zm.92477cab.svg │ │ │ │ │ ├── zm.ce5363b7.svg │ │ │ │ │ ├── zw.6a535c1e.svg │ │ │ │ │ └── zw.f488cb8a.svg │ │ │ │ └── js │ │ │ │ │ ├── 1048.dee7993e.js │ │ │ │ │ ├── 1048.dee7993e.js.map │ │ │ │ │ ├── 1131.b4b4485e.js │ │ │ │ │ ├── 1131.b4b4485e.js.map │ │ │ │ │ ├── 1233.d849143f.js │ │ │ │ │ ├── 1233.d849143f.js.map │ │ │ │ │ ├── 1293.2437b98f.js │ │ │ │ │ ├── 1293.2437b98f.js.map │ │ │ │ │ ├── 1367.ff5a64e9.js │ │ │ │ │ ├── 1367.ff5a64e9.js.map │ │ │ │ │ ├── 1381.a0aa4de0.js │ │ │ │ │ ├── 1381.a0aa4de0.js.map │ │ │ │ │ ├── 1391.f4920051.js │ │ │ │ │ ├── 1391.f4920051.js.map │ │ │ │ │ ├── 1433.eb9576fc.js │ │ │ │ │ ├── 1433.eb9576fc.js.map │ │ │ │ │ ├── 1526.52cf0f9d.js │ │ │ │ │ ├── 1526.52cf0f9d.js.map │ │ │ │ │ ├── 1562.8af1cf78.js │ │ │ │ │ ├── 1562.8af1cf78.js.map │ │ │ │ │ ├── 1671.4d1a8fec.js │ │ │ │ │ ├── 1671.4d1a8fec.js.map │ │ │ │ │ ├── 1684.37373d78.js │ │ │ │ │ ├── 1684.37373d78.js.map │ │ │ │ │ ├── 1792.82fa61bf.js │ │ │ │ │ ├── 1792.82fa61bf.js.map │ │ │ │ │ ├── 1995.9ddb7106.js │ │ │ │ │ ├── 1995.9ddb7106.js.map │ │ │ │ │ ├── 2012.6450b448.js │ │ │ │ │ ├── 2012.6450b448.js.map │ │ │ │ │ ├── 2256.04ef8f66.js │ │ │ │ │ ├── 2256.04ef8f66.js.map │ │ │ │ │ ├── 2375.1d0ea3b4.js │ │ │ │ │ ├── 2392.6203d19b.js │ │ │ │ │ ├── 2392.6203d19b.js.map │ │ │ │ │ ├── 2436.eba2641e.js │ │ │ │ │ ├── 2436.eba2641e.js.map │ │ │ │ │ ├── 2519.d259b2bb.js │ │ │ │ │ ├── 2519.d259b2bb.js.map │ │ │ │ │ ├── 2545.ba059a54.js │ │ │ │ │ ├── 2545.ba059a54.js.map │ │ │ │ │ ├── 2720.efe8698d.js │ │ │ │ │ ├── 2720.efe8698d.js.map │ │ │ │ │ ├── 2908.9924ddcc.js │ │ │ │ │ ├── 2908.9924ddcc.js.map │ │ │ │ │ ├── 2910.9ae62eed.js │ │ │ │ │ ├── 2910.9ae62eed.js.map │ │ │ │ │ ├── 2981.4006f92d.js │ │ │ │ │ ├── 2981.4006f92d.js.map │ │ │ │ │ ├── 3024.b35f4d7b.js │ │ │ │ │ ├── 3024.b35f4d7b.js.map │ │ │ │ │ ├── 3149.563a4229.js │ │ │ │ │ ├── 3149.563a4229.js.map │ │ │ │ │ ├── 3284.7ff53638.js │ │ │ │ │ ├── 3284.7ff53638.js.map │ │ │ │ │ ├── 3290.4e5594e0.js │ │ │ │ │ ├── 3290.4e5594e0.js.map │ │ │ │ │ ├── 3307.457ad5ac.js │ │ │ │ │ ├── 3307.457ad5ac.js.map │ │ │ │ │ ├── 3353.1972ad7a.js │ │ │ │ │ ├── 3353.1972ad7a.js.map │ │ │ │ │ ├── 343.82b8b183.js │ │ │ │ │ ├── 343.82b8b183.js.map │ │ │ │ │ ├── 3671.04f20121.js │ │ │ │ │ ├── 3671.04f20121.js.map │ │ │ │ │ ├── 3780.0c7c8fa3.js │ │ │ │ │ ├── 3780.0c7c8fa3.js.map │ │ │ │ │ ├── 3851.84f9576e.js │ │ │ │ │ ├── 3851.84f9576e.js.map │ │ │ │ │ ├── 3923.241b3dbb.js │ │ │ │ │ ├── 3923.241b3dbb.js.map │ │ │ │ │ ├── 3950.265a45a9.js │ │ │ │ │ ├── 3950.265a45a9.js.map │ │ │ │ │ ├── 3990.8c29eb57.js │ │ │ │ │ ├── 3990.8c29eb57.js.map │ │ │ │ │ ├── 4267.2bbaea55.js │ │ │ │ │ ├── 4267.2bbaea55.js.map │ │ │ │ │ ├── 4312.6d7bb42f.js │ │ │ │ │ ├── 4312.6d7bb42f.js.map │ │ │ │ │ ├── 4387.96944615.js │ │ │ │ │ ├── 4387.96944615.js.map │ │ │ │ │ ├── 4388.6b7bd175.js │ │ │ │ │ ├── 4388.6b7bd175.js.map │ │ │ │ │ ├── 4523.a60b3d0d.js │ │ │ │ │ ├── 4523.a60b3d0d.js.map │ │ │ │ │ ├── 4598.295426de.js │ │ │ │ │ ├── 4598.295426de.js.map │ │ │ │ │ ├── 4647.6aa3b8c1.js │ │ │ │ │ ├── 4647.6aa3b8c1.js.map │ │ │ │ │ ├── 47.df5faffc.js │ │ │ │ │ ├── 47.df5faffc.js.map │ │ │ │ │ ├── 4787.513904de.js │ │ │ │ │ ├── 4787.513904de.js.map │ │ │ │ │ ├── 4842.cf5d919f.js │ │ │ │ │ ├── 4842.cf5d919f.js.map │ │ │ │ │ ├── 4952.33ea36f6.js │ │ │ │ │ ├── 4952.33ea36f6.js.map │ │ │ │ │ ├── 5131.e8c55eeb.js │ │ │ │ │ ├── 5131.e8c55eeb.js.map │ │ │ │ │ ├── 5145.4fcdb9fb.js │ │ │ │ │ ├── 5145.4fcdb9fb.js.map │ │ │ │ │ ├── 5150.1679a7ea.js │ │ │ │ │ ├── 5150.1679a7ea.js.map │ │ │ │ │ ├── 5188.19a8b3c1.js │ │ │ │ │ ├── 5188.19a8b3c1.js.map │ │ │ │ │ ├── 5451.6099ee11.js │ │ │ │ │ ├── 5451.6099ee11.js.map │ │ │ │ │ ├── 560.b8b3bafe.js │ │ │ │ │ ├── 560.b8b3bafe.js.map │ │ │ │ │ ├── 5783.e2bda9d8.js │ │ │ │ │ ├── 5783.e2bda9d8.js.map │ │ │ │ │ ├── 5842.1a676c8b.js │ │ │ │ │ ├── 5842.1a676c8b.js.map │ │ │ │ │ ├── 5928.f1d69386.js │ │ │ │ │ ├── 5928.f1d69386.js.map │ │ │ │ │ ├── 5953.3ee4e3f1.js │ │ │ │ │ ├── 5953.3ee4e3f1.js.map │ │ │ │ │ ├── 6047.8e1e912f.js │ │ │ │ │ ├── 6047.8e1e912f.js.map │ │ │ │ │ ├── 6089.f25c6a38.js │ │ │ │ │ ├── 6089.f25c6a38.js.map │ │ │ │ │ ├── 6360.64ec1b1c.js │ │ │ │ │ ├── 6360.64ec1b1c.js.map │ │ │ │ │ ├── 6372.3e286d7e.js │ │ │ │ │ ├── 6372.3e286d7e.js.map │ │ │ │ │ ├── 6435.132d0e8c.js │ │ │ │ │ ├── 6435.132d0e8c.js.map │ │ │ │ │ ├── 648.e6d573ac.js │ │ │ │ │ ├── 648.e6d573ac.js.map │ │ │ │ │ ├── 6564.e5370ae5.js │ │ │ │ │ ├── 6564.e5370ae5.js.map │ │ │ │ │ ├── 6708.aa8ea2fa.js │ │ │ │ │ ├── 6708.aa8ea2fa.js.map │ │ │ │ │ ├── 6792.34742d72.js │ │ │ │ │ ├── 6792.34742d72.js.map │ │ │ │ │ ├── 6864.32d33890.js │ │ │ │ │ ├── 6864.32d33890.js.map │ │ │ │ │ ├── 6903.44c79311.js │ │ │ │ │ ├── 6903.44c79311.js.map │ │ │ │ │ ├── 6923.e8a2d807.js │ │ │ │ │ ├── 6923.e8a2d807.js.map │ │ │ │ │ ├── 6973.07dfab75.js │ │ │ │ │ ├── 6973.07dfab75.js.map │ │ │ │ │ ├── 6975.ea0d851e.js │ │ │ │ │ ├── 6975.ea0d851e.js.map │ │ │ │ │ ├── 7028.b025a500.js │ │ │ │ │ ├── 7028.b025a500.js.map │ │ │ │ │ ├── 7098.d7606a7a.js │ │ │ │ │ ├── 7098.d7606a7a.js.map │ │ │ │ │ ├── 7115.d0d7c209.js │ │ │ │ │ ├── 7115.d0d7c209.js.map │ │ │ │ │ ├── 7158.9948f74b.js │ │ │ │ │ ├── 7158.9948f74b.js.map │ │ │ │ │ ├── 7222.69b738ae.js │ │ │ │ │ ├── 7222.69b738ae.js.map │ │ │ │ │ ├── 7299.fd799129.js │ │ │ │ │ ├── 7299.fd799129.js.map │ │ │ │ │ ├── 7386.509be494.js │ │ │ │ │ ├── 7386.509be494.js.map │ │ │ │ │ ├── 7533.d1b8aa3d.js │ │ │ │ │ ├── 7533.d1b8aa3d.js.map │ │ │ │ │ ├── 7594.a27f56fd.js │ │ │ │ │ ├── 7594.a27f56fd.js.map │ │ │ │ │ ├── 7630.63a4957e.js │ │ │ │ │ ├── 7630.63a4957e.js.map │ │ │ │ │ ├── 7839.e655a845.js │ │ │ │ │ ├── 7839.e655a845.js.map │ │ │ │ │ ├── 7845.e15f81ee.js │ │ │ │ │ ├── 7845.e15f81ee.js.map │ │ │ │ │ ├── 7896.d37d00aa.js │ │ │ │ │ ├── 7896.d37d00aa.js.map │ │ │ │ │ ├── 8044.3d533dea.js │ │ │ │ │ ├── 8044.3d533dea.js.map │ │ │ │ │ ├── 806.a3972e99.js │ │ │ │ │ ├── 806.a3972e99.js.map │ │ │ │ │ ├── 8131.347c5b61.js │ │ │ │ │ ├── 8131.347c5b61.js.map │ │ │ │ │ ├── 8191.922c8216.js │ │ │ │ │ ├── 8191.922c8216.js.map │ │ │ │ │ ├── 8223.18cd689d.js │ │ │ │ │ ├── 8251.f2c407d3.js │ │ │ │ │ ├── 8251.f2c407d3.js.map │ │ │ │ │ ├── 8297.88c144ec.js │ │ │ │ │ ├── 8297.88c144ec.js.map │ │ │ │ │ ├── 8357.3973c403.js │ │ │ │ │ ├── 8357.3973c403.js.map │ │ │ │ │ ├── 8370.b518c5a0.js │ │ │ │ │ ├── 8370.b518c5a0.js.map │ │ │ │ │ ├── 8411.4ec6ccae.js │ │ │ │ │ ├── 8411.4ec6ccae.js.map │ │ │ │ │ ├── 8466.28a5aabb.js │ │ │ │ │ ├── 8466.28a5aabb.js.map │ │ │ │ │ ├── 8499.7a4ffdd6.js │ │ │ │ │ ├── 8499.7a4ffdd6.js.map │ │ │ │ │ ├── 8516.f41c961c.js │ │ │ │ │ ├── 8516.f41c961c.js.map │ │ │ │ │ ├── 8636.7e98b2e7.js │ │ │ │ │ ├── 8636.7e98b2e7.js.map │ │ │ │ │ ├── 8652.560d4427.js │ │ │ │ │ ├── 8652.560d4427.js.map │ │ │ │ │ ├── 9064.f0e80d54.js │ │ │ │ │ ├── 9064.f0e80d54.js.map │ │ │ │ │ ├── 9145.8effe9dd.js │ │ │ │ │ ├── 9145.8effe9dd.js.map │ │ │ │ │ ├── 9151.c0d5c784.js │ │ │ │ │ ├── 9151.c0d5c784.js.map │ │ │ │ │ ├── 9222.b9eaf6e3.js │ │ │ │ │ ├── 9222.b9eaf6e3.js.map │ │ │ │ │ ├── 9313.66162ecf.js │ │ │ │ │ ├── 9313.66162ecf.js.map │ │ │ │ │ ├── 9388.2186cb1b.js │ │ │ │ │ ├── 9388.2186cb1b.js.map │ │ │ │ │ ├── 9426.585f6762.js │ │ │ │ │ ├── 9426.585f6762.js.map │ │ │ │ │ ├── 9476.11539d42.js │ │ │ │ │ ├── 9476.11539d42.js.map │ │ │ │ │ ├── 9631.0ae85240.js │ │ │ │ │ ├── 9636.4268e1ce.js │ │ │ │ │ ├── 9636.4268e1ce.js.map │ │ │ │ │ ├── 9702.bc986def.js │ │ │ │ │ ├── 9702.bc986def.js.map │ │ │ │ │ ├── 978.ff5efc1a.js │ │ │ │ │ ├── 978.ff5efc1a.js.map │ │ │ │ │ ├── 9782.e35bd69c.js │ │ │ │ │ ├── 9782.e35bd69c.js.map │ │ │ │ │ ├── 9784.7c8fe984.js │ │ │ │ │ ├── 9784.7c8fe984.js.map │ │ │ │ │ ├── 9878.1962d14a.js │ │ │ │ │ ├── 9878.1962d14a.js.map │ │ │ │ │ ├── 9992.1727ffdd.js │ │ │ │ │ ├── app.54130bae.js │ │ │ │ │ ├── app.54130bae.js.map │ │ │ │ │ ├── chunk-vendors.918726ad.js │ │ │ │ │ ├── chunk-vendors.918726ad.js.map │ │ │ │ │ ├── dashboard.e7fad48a.js │ │ │ │ │ ├── dashboard.e7fad48a.js.map │ │ │ │ │ ├── login.de738cfb.js │ │ │ │ │ ├── login.de738cfb.js.map │ │ │ │ │ ├── notfound.baabd642.js │ │ │ │ │ ├── notfound.baabd642.js.map │ │ │ │ │ ├── panel.11bc4ed9.js │ │ │ │ │ ├── panel.11bc4ed9.js.map │ │ │ │ │ ├── plugin.6e6055fc.js │ │ │ │ │ ├── plugin.6e6055fc.js.map │ │ │ │ │ ├── register.558a674a.js │ │ │ │ │ └── register.558a674a.js.map │ │ │ ├── workbox-5b385ed2.js │ │ │ └── workbox-5b385ed2.js.map │ │ │ ├── jsconfig.json │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── public │ │ │ ├── favicon.ico │ │ │ ├── fonts │ │ │ │ ├── Poppins.ttf │ │ │ │ └── poppins.css │ │ │ ├── icons │ │ │ │ ├── jellyfin.svg │ │ │ │ ├── kodi.svg │ │ │ │ ├── openweathermap │ │ │ │ │ ├── black │ │ │ │ │ ├── dark │ │ │ │ │ │ ├── 01d.png │ │ │ │ │ │ ├── 01n.png │ │ │ │ │ │ ├── 02d.png │ │ │ │ │ │ ├── 02n.png │ │ │ │ │ │ ├── 03d.png │ │ │ │ │ │ ├── 03n.png │ │ │ │ │ │ ├── 04d.png │ │ │ │ │ │ ├── 04n.png │ │ │ │ │ │ ├── 09d.png │ │ │ │ │ │ ├── 09n.png │ │ │ │ │ │ ├── 10d.png │ │ │ │ │ │ ├── 10n.png │ │ │ │ │ │ ├── 11d.png │ │ │ │ │ │ ├── 11n.png │ │ │ │ │ │ ├── 13d.png │ │ │ │ │ │ ├── 13n.png │ │ │ │ │ │ ├── 50d.png │ │ │ │ │ │ ├── 50n.png │ │ │ │ │ │ └── unknown.png │ │ │ │ │ ├── light │ │ │ │ │ │ ├── 01d.png │ │ │ │ │ │ ├── 01n.png │ │ │ │ │ │ ├── 02d.png │ │ │ │ │ │ ├── 02n.png │ │ │ │ │ │ ├── 03d.png │ │ │ │ │ │ ├── 03n.png │ │ │ │ │ │ ├── 04d.png │ │ │ │ │ │ ├── 04n.png │ │ │ │ │ │ ├── 09d.png │ │ │ │ │ │ ├── 09n.png │ │ │ │ │ │ ├── 10d.png │ │ │ │ │ │ ├── 10n.png │ │ │ │ │ │ ├── 11d.png │ │ │ │ │ │ ├── 11n.png │ │ │ │ │ │ ├── 13d.png │ │ │ │ │ │ ├── 13n.png │ │ │ │ │ │ ├── 50d.png │ │ │ │ │ │ ├── 50n.png │ │ │ │ │ │ └── unknown.png │ │ │ │ │ └── white │ │ │ │ ├── plex.svg │ │ │ │ ├── smartthings.png │ │ │ │ ├── z-wave.png │ │ │ │ └── zigbee.svg │ │ │ ├── img │ │ │ │ ├── dashboard-bg-light.jpg │ │ │ │ ├── icons │ │ │ │ │ ├── android-chrome-192x192.png │ │ │ │ │ ├── android-chrome-512x512.png │ │ │ │ │ ├── android-chrome-maskable-192x192.png │ │ │ │ │ ├── android-chrome-maskable-512x512.png │ │ │ │ │ ├── apple-touch-icon-120x120.png │ │ │ │ │ ├── apple-touch-icon-152x152.png │ │ │ │ │ ├── apple-touch-icon-180x180.png │ │ │ │ │ ├── apple-touch-icon-60x60.png │ │ │ │ │ ├── apple-touch-icon-76x76.png │ │ │ │ │ ├── apple-touch-icon.png │ │ │ │ │ ├── favicon-16x16.png │ │ │ │ │ ├── favicon-32x32.png │ │ │ │ │ ├── favicon.svg │ │ │ │ │ ├── logo-256x256.png │ │ │ │ │ ├── msapplication-icon-144x144.png │ │ │ │ │ ├── mstile-150x150.png │ │ │ │ │ └── safari-pinned-tab.svg │ │ │ │ ├── logo.png │ │ │ │ └── spinner.gif │ │ │ └── index.html │ │ │ ├── src │ │ │ ├── App.vue │ │ │ ├── Events.vue │ │ │ ├── Utils.vue │ │ │ ├── assets │ │ │ │ ├── icons │ │ │ │ ├── icons.json │ │ │ │ └── img │ │ │ ├── bus.js │ │ │ ├── components │ │ │ │ ├── Action │ │ │ │ │ ├── ActionArgs.vue │ │ │ │ │ ├── ActionDoc.vue │ │ │ │ │ ├── ActionEditor.vue │ │ │ │ │ ├── ActionTile.vue │ │ │ │ │ ├── ActionsBlock.vue │ │ │ │ │ ├── ActionsList.vue │ │ │ │ │ ├── ActionsListItem.vue │ │ │ │ │ ├── AddTile.vue │ │ │ │ │ ├── Argdoc.vue │ │ │ │ │ ├── BreakTile.vue │ │ │ │ │ ├── ConditionBlock.vue │ │ │ │ │ ├── ConditionTile.vue │ │ │ │ │ ├── ContextAutocomplete.vue │ │ │ │ │ ├── ContinueTile.vue │ │ │ │ │ ├── EndBlockTile.vue │ │ │ │ │ ├── ExpressionEditor.vue │ │ │ │ │ ├── ListItem.vue │ │ │ │ │ ├── LoopBlock.vue │ │ │ │ │ ├── LoopEditor.vue │ │ │ │ │ ├── LoopTile.vue │ │ │ │ │ ├── Mixin.vue │ │ │ │ │ ├── Response.vue │ │ │ │ │ ├── ReturnTile.vue │ │ │ │ │ ├── SetVariablesTile.vue │ │ │ │ │ ├── common.scss │ │ │ │ │ └── vars.scss │ │ │ │ ├── File │ │ │ │ │ ├── Browser.vue │ │ │ │ │ ├── Browser │ │ │ │ │ │ └── Options.vue │ │ │ │ │ ├── Editor.vue │ │ │ │ │ ├── EditorModal.vue │ │ │ │ │ ├── Highlighter.vue │ │ │ │ │ ├── Home.vue │ │ │ │ │ ├── Info.vue │ │ │ │ │ ├── Uploader.vue │ │ │ │ │ └── UploaderModal.vue │ │ │ │ ├── Light │ │ │ │ │ ├── Animate.vue │ │ │ │ │ ├── Controls.vue │ │ │ │ │ ├── Group.vue │ │ │ │ │ ├── Groups.vue │ │ │ │ │ ├── Light.vue │ │ │ │ │ ├── Scene.vue │ │ │ │ │ └── groups.scss │ │ │ │ ├── Loading.vue │ │ │ │ ├── Media │ │ │ │ │ ├── Controls.vue │ │ │ │ │ ├── ExtraControls.vue │ │ │ │ │ ├── PlayPauseButton.vue │ │ │ │ │ ├── ProgressBar.vue │ │ │ │ │ ├── Utils.vue │ │ │ │ │ ├── View.vue │ │ │ │ │ ├── VolumeSlider.vue │ │ │ │ │ └── vars.scss │ │ │ │ ├── MenuPanel.vue │ │ │ │ ├── Modal.vue │ │ │ │ ├── Nav.vue │ │ │ │ ├── Notification.vue │ │ │ │ ├── Notifications.vue │ │ │ │ ├── Ntfy.vue │ │ │ │ ├── Procedure │ │ │ │ │ ├── ProcedureDump.vue │ │ │ │ │ ├── ProcedureEditor.vue │ │ │ │ │ └── ProcedureEditorModal.vue │ │ │ │ ├── Pushbullet.vue │ │ │ │ ├── Sensor.vue │ │ │ │ ├── VoiceAssistant.vue │ │ │ │ ├── elements │ │ │ │ │ ├── Alert.vue │ │ │ │ │ ├── Autocomplete.vue │ │ │ │ │ ├── ConfirmDialog.vue │ │ │ │ │ ├── CopyButton.vue │ │ │ │ │ ├── CronEditor.vue │ │ │ │ │ ├── Draggable.vue │ │ │ │ │ ├── Dropdown.vue │ │ │ │ │ ├── DropdownBody.vue │ │ │ │ │ ├── DropdownContainer.vue │ │ │ │ │ ├── DropdownItem.vue │ │ │ │ │ ├── Droppable.vue │ │ │ │ │ ├── EditButton.vue │ │ │ │ │ ├── ExtensionIcon.vue │ │ │ │ │ ├── FileSelector.vue │ │ │ │ │ ├── FloatingButton.vue │ │ │ │ │ ├── FloatingButtons.vue │ │ │ │ │ ├── FloatingDropdownButton.vue │ │ │ │ │ ├── FormFooter.vue │ │ │ │ │ ├── Icon.vue │ │ │ │ │ ├── NameEditor.vue │ │ │ │ │ ├── NoItems.vue │ │ │ │ │ ├── OutputRenderers │ │ │ │ │ │ ├── ActionRenderer.vue │ │ │ │ │ │ ├── EventRenderer.vue │ │ │ │ │ │ ├── Mixin.vue │ │ │ │ │ │ ├── ObjectRenderer.vue │ │ │ │ │ │ ├── StringRenderer.vue │ │ │ │ │ │ └── style.scss │ │ │ │ │ ├── RangeSlider.vue │ │ │ │ │ ├── RestartButton.vue │ │ │ │ │ ├── Slider.vue │ │ │ │ │ ├── StopButton.vue │ │ │ │ │ ├── Tab.vue │ │ │ │ │ ├── Tabs.vue │ │ │ │ │ ├── TextPrompt.vue │ │ │ │ │ ├── Tile.vue │ │ │ │ │ ├── TimeInterval.vue │ │ │ │ │ └── ToggleSwitch.vue │ │ │ │ ├── panels │ │ │ │ │ ├── Alarm │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Application │ │ │ │ │ │ ├── Actions.vue │ │ │ │ │ │ ├── Events.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Monitor.vue │ │ │ │ │ │ ├── style.scss │ │ │ │ │ │ └── vars.scss │ │ │ │ │ ├── Camera │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Mixin.vue │ │ │ │ │ │ └── common.scss │ │ │ │ │ ├── CameraAndroidIpcam │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── CameraCv │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── CameraFfmpeg │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── CameraGstreamer │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── CameraIrMlx90640 │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── CameraPi │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── CameraPiLegacy │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Entities │ │ │ │ │ │ ├── Accelerometer.vue │ │ │ │ │ │ ├── Alarm.vue │ │ │ │ │ │ ├── Alarm │ │ │ │ │ │ │ └── AlarmEditor.vue │ │ │ │ │ │ ├── Assistant.vue │ │ │ │ │ │ ├── Battery.vue │ │ │ │ │ │ ├── BinarySensor.vue │ │ │ │ │ │ ├── BluetoothDevice.vue │ │ │ │ │ │ ├── BluetoothService.vue │ │ │ │ │ │ ├── Button.vue │ │ │ │ │ │ ├── CloudInstance.vue │ │ │ │ │ │ ├── CompositeSensor.vue │ │ │ │ │ │ ├── ContactSensor.vue │ │ │ │ │ │ ├── Cpu.vue │ │ │ │ │ │ ├── CpuInfo.vue │ │ │ │ │ │ ├── CpuStats.vue │ │ │ │ │ │ ├── CpuTimes.vue │ │ │ │ │ │ ├── CurrentSensor.vue │ │ │ │ │ │ ├── Device.vue │ │ │ │ │ │ ├── DewPointSensor.vue │ │ │ │ │ │ ├── Dimmer.vue │ │ │ │ │ │ ├── Disk.vue │ │ │ │ │ │ ├── DistanceSensor.vue │ │ │ │ │ │ ├── EnergySensor.vue │ │ │ │ │ │ ├── Entity.vue │ │ │ │ │ │ ├── EntityIcon.vue │ │ │ │ │ │ ├── EntityMixin.vue │ │ │ │ │ │ ├── EnumSensor.vue │ │ │ │ │ │ ├── EnumSwitch.vue │ │ │ │ │ │ ├── HeartRateSensor.vue │ │ │ │ │ │ ├── HumiditySensor.vue │ │ │ │ │ │ ├── IconEditor.vue │ │ │ │ │ │ ├── IlluminanceSensor.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Light.vue │ │ │ │ │ │ ├── LinkQuality.vue │ │ │ │ │ │ ├── Magnetometer.vue │ │ │ │ │ │ ├── MemoryStats.vue │ │ │ │ │ │ ├── Modal.vue │ │ │ │ │ │ ├── MotionSensor.vue │ │ │ │ │ │ ├── Muted.vue │ │ │ │ │ │ ├── NetworkInterface.vue │ │ │ │ │ │ ├── NumericSensor.vue │ │ │ │ │ │ ├── PercentSensor.vue │ │ │ │ │ │ ├── PingHost.vue │ │ │ │ │ │ ├── PowerSensor.vue │ │ │ │ │ │ ├── PresenceSensor.vue │ │ │ │ │ │ ├── PressureSensor.vue │ │ │ │ │ │ ├── Procedure.vue │ │ │ │ │ │ ├── RawSensor.vue │ │ │ │ │ │ ├── Selector.vue │ │ │ │ │ │ ├── Sensor.vue │ │ │ │ │ │ ├── StepsSensor.vue │ │ │ │ │ │ ├── SwapStats.vue │ │ │ │ │ │ ├── Switch.vue │ │ │ │ │ │ ├── SystemBattery.vue │ │ │ │ │ │ ├── SystemFan.vue │ │ │ │ │ │ ├── SystemTemperature.vue │ │ │ │ │ │ ├── TemperatureSensor.vue │ │ │ │ │ │ ├── ThreeAxisSensor.vue │ │ │ │ │ │ ├── TimeDuration.vue │ │ │ │ │ │ ├── Variable.vue │ │ │ │ │ │ ├── VariableModal.vue │ │ │ │ │ │ ├── VoltageSensor.vue │ │ │ │ │ │ ├── Volume.vue │ │ │ │ │ │ ├── Weather.vue │ │ │ │ │ │ ├── WeatherForecast.vue │ │ │ │ │ │ ├── WeatherIcon.vue │ │ │ │ │ │ ├── WeightSensor.vue │ │ │ │ │ │ ├── common.scss │ │ │ │ │ │ ├── meta.json │ │ │ │ │ │ └── vars.scss │ │ │ │ │ ├── Execute │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Extensions │ │ │ │ │ │ ├── Config.vue │ │ │ │ │ │ ├── Doc.vue │ │ │ │ │ │ ├── Extension.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Install.vue │ │ │ │ │ │ └── common.scss │ │ │ │ │ ├── File │ │ │ │ │ │ ├── Header.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ └── vars.scss │ │ │ │ │ ├── Index.vue │ │ │ │ │ ├── Light │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Utils.vue │ │ │ │ │ │ └── color.js │ │ │ │ │ ├── LightHue │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Media │ │ │ │ │ │ ├── Browser.vue │ │ │ │ │ │ ├── Downloads.vue │ │ │ │ │ │ ├── EmbedPlayer.vue │ │ │ │ │ │ ├── Header.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Info.vue │ │ │ │ │ │ ├── Item.vue │ │ │ │ │ │ ├── MediaImage.vue │ │ │ │ │ │ ├── Nav.vue │ │ │ │ │ │ ├── Players.vue │ │ │ │ │ │ ├── Players │ │ │ │ │ │ │ ├── Chromecast.vue │ │ │ │ │ │ │ ├── GStreamer.vue │ │ │ │ │ │ │ ├── Kodi.vue │ │ │ │ │ │ │ ├── Mixin.vue │ │ │ │ │ │ │ ├── Mplayer.vue │ │ │ │ │ │ │ ├── Mpv.vue │ │ │ │ │ │ │ └── Vlc.vue │ │ │ │ │ │ ├── PlaylistAdder.vue │ │ │ │ │ │ ├── Providers │ │ │ │ │ │ │ ├── File.vue │ │ │ │ │ │ │ ├── Jellyfin.vue │ │ │ │ │ │ │ ├── Jellyfin │ │ │ │ │ │ │ │ ├── Collections.vue │ │ │ │ │ │ │ │ ├── Mixin.vue │ │ │ │ │ │ │ │ ├── common.scss │ │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ │ └── SortButton.vue │ │ │ │ │ │ │ │ └── views │ │ │ │ │ │ │ │ │ ├── Media │ │ │ │ │ │ │ │ │ └── Index.vue │ │ │ │ │ │ │ │ │ ├── Movies │ │ │ │ │ │ │ │ │ └── Index.vue │ │ │ │ │ │ │ │ │ └── Music │ │ │ │ │ │ │ │ │ └── Index.vue │ │ │ │ │ │ │ ├── Mixin.vue │ │ │ │ │ │ │ ├── Nav.vue │ │ │ │ │ │ │ ├── YouTube.vue │ │ │ │ │ │ │ ├── YouTube │ │ │ │ │ │ │ │ ├── Channel.vue │ │ │ │ │ │ │ │ ├── Feed.vue │ │ │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ │ │ ├── NoToken.vue │ │ │ │ │ │ │ │ ├── Playlist.vue │ │ │ │ │ │ │ │ ├── Playlists.vue │ │ │ │ │ │ │ │ ├── Subscriptions.vue │ │ │ │ │ │ │ │ └── header.scss │ │ │ │ │ │ │ └── meta.json │ │ │ │ │ │ ├── Results.vue │ │ │ │ │ │ ├── Subtitles.vue │ │ │ │ │ │ ├── UrlPlayer.vue │ │ │ │ │ │ ├── icons.json │ │ │ │ │ │ └── style.scss │ │ │ │ │ ├── MediaChromecast │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── MediaGstreamer │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── MediaMplayer │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── MediaMpv │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── MediaVlc │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Music │ │ │ │ │ │ ├── Common.vue │ │ │ │ │ │ ├── Header.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Library.vue │ │ │ │ │ │ ├── Nav.vue │ │ │ │ │ │ ├── Playlist.vue │ │ │ │ │ │ ├── Playlists.vue │ │ │ │ │ │ ├── Search.vue │ │ │ │ │ │ ├── track.scss │ │ │ │ │ │ └── vars.scss │ │ │ │ │ ├── MusicMopidy │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── MusicMpd │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── MusicSnapcast │ │ │ │ │ │ ├── Client.vue │ │ │ │ │ │ ├── Group.vue │ │ │ │ │ │ ├── Host.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ └── modals │ │ │ │ │ │ │ ├── Client.vue │ │ │ │ │ │ │ ├── Group.vue │ │ │ │ │ │ │ └── Host.vue │ │ │ │ │ ├── MusicSpotify │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Panel.vue │ │ │ │ │ ├── Procedures │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Rtorrent │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Settings │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Otp.vue │ │ │ │ │ │ ├── Tokens │ │ │ │ │ │ │ ├── ApiToken.vue │ │ │ │ │ │ │ ├── Description.vue │ │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ │ ├── JwtToken.vue │ │ │ │ │ │ │ ├── TokensList.vue │ │ │ │ │ │ │ └── style.scss │ │ │ │ │ │ ├── Users.vue │ │ │ │ │ │ └── sections.json │ │ │ │ │ ├── Sound │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Torrent │ │ │ │ │ │ ├── Header.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Info.vue │ │ │ │ │ │ ├── Nav.vue │ │ │ │ │ │ ├── Panel.vue │ │ │ │ │ │ ├── Results.vue │ │ │ │ │ │ ├── Transfers.vue │ │ │ │ │ │ └── vars.scss │ │ │ │ │ ├── Tts │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ └── Panel.vue │ │ │ │ │ ├── TtsGoogle │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── TtsPicovoice │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── TvSamsungWs │ │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── ZigbeeMqtt │ │ │ │ │ │ ├── Device.vue │ │ │ │ │ │ ├── Group.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── common.scss │ │ │ │ │ │ └── vars.scss │ │ │ │ │ ├── Zwave │ │ │ │ │ │ ├── Group.vue │ │ │ │ │ │ ├── Index.vue │ │ │ │ │ │ ├── Node.vue │ │ │ │ │ │ ├── Value.vue │ │ │ │ │ │ ├── Zwave.vue │ │ │ │ │ │ ├── common.scss │ │ │ │ │ │ ├── mixin.js │ │ │ │ │ │ └── vars.scss │ │ │ │ │ └── ZwaveMqtt │ │ │ │ │ │ └── Index.vue │ │ │ │ └── widgets │ │ │ │ │ ├── Calendar │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Camera │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Component │ │ │ │ │ ├── Index.vue │ │ │ │ │ ├── components │ │ │ │ │ │ ├── Run.vue │ │ │ │ │ │ ├── Sensor.vue │ │ │ │ │ │ ├── Slider.vue │ │ │ │ │ │ ├── Switch.vue │ │ │ │ │ │ ├── mixins.js │ │ │ │ │ │ └── mixins.scss │ │ │ │ │ └── index.js │ │ │ │ │ ├── DateTime │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── DateTimeWeather │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── ImageCarousel │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Music │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Plugin │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Row.vue │ │ │ │ │ ├── RssNews │ │ │ │ │ └── Index.vue │ │ │ │ │ ├── Weather │ │ │ │ │ └── Index.vue │ │ │ │ │ └── Widget.vue │ │ │ ├── main.js │ │ │ ├── mixins │ │ │ │ ├── Autocomplete │ │ │ │ │ └── Props.vue │ │ │ │ └── Music │ │ │ │ │ └── Status.vue │ │ │ ├── registerServiceWorker.js │ │ │ ├── router │ │ │ │ └── index.js │ │ │ ├── style │ │ │ │ ├── animations.scss │ │ │ │ ├── common.scss │ │ │ │ ├── components.scss │ │ │ │ ├── flag-icons.css │ │ │ │ ├── flags │ │ │ │ │ ├── 1x1 │ │ │ │ │ │ ├── ad.svg │ │ │ │ │ │ ├── ae.svg │ │ │ │ │ │ ├── af.svg │ │ │ │ │ │ ├── ag.svg │ │ │ │ │ │ ├── ai.svg │ │ │ │ │ │ ├── al.svg │ │ │ │ │ │ ├── am.svg │ │ │ │ │ │ ├── ao.svg │ │ │ │ │ │ ├── aq.svg │ │ │ │ │ │ ├── ar.svg │ │ │ │ │ │ ├── as.svg │ │ │ │ │ │ ├── at.svg │ │ │ │ │ │ ├── au.svg │ │ │ │ │ │ ├── aw.svg │ │ │ │ │ │ ├── ax.svg │ │ │ │ │ │ ├── az.svg │ │ │ │ │ │ ├── ba.svg │ │ │ │ │ │ ├── bb.svg │ │ │ │ │ │ ├── bd.svg │ │ │ │ │ │ ├── be.svg │ │ │ │ │ │ ├── bf.svg │ │ │ │ │ │ ├── bg.svg │ │ │ │ │ │ ├── bh.svg │ │ │ │ │ │ ├── bi.svg │ │ │ │ │ │ ├── bj.svg │ │ │ │ │ │ ├── bl.svg │ │ │ │ │ │ ├── bm.svg │ │ │ │ │ │ ├── bn.svg │ │ │ │ │ │ ├── bo.svg │ │ │ │ │ │ ├── bq.svg │ │ │ │ │ │ ├── br.svg │ │ │ │ │ │ ├── bs.svg │ │ │ │ │ │ ├── bt.svg │ │ │ │ │ │ ├── bv.svg │ │ │ │ │ │ ├── bw.svg │ │ │ │ │ │ ├── by.svg │ │ │ │ │ │ ├── bz.svg │ │ │ │ │ │ ├── ca.svg │ │ │ │ │ │ ├── cc.svg │ │ │ │ │ │ ├── cd.svg │ │ │ │ │ │ ├── cf.svg │ │ │ │ │ │ ├── cg.svg │ │ │ │ │ │ ├── ch.svg │ │ │ │ │ │ ├── ci.svg │ │ │ │ │ │ ├── ck.svg │ │ │ │ │ │ ├── cl.svg │ │ │ │ │ │ ├── cm.svg │ │ │ │ │ │ ├── cn.svg │ │ │ │ │ │ ├── co.svg │ │ │ │ │ │ ├── cr.svg │ │ │ │ │ │ ├── cu.svg │ │ │ │ │ │ ├── cv.svg │ │ │ │ │ │ ├── cw.svg │ │ │ │ │ │ ├── cx.svg │ │ │ │ │ │ ├── cy.svg │ │ │ │ │ │ ├── cz.svg │ │ │ │ │ │ ├── de.svg │ │ │ │ │ │ ├── dj.svg │ │ │ │ │ │ ├── dk.svg │ │ │ │ │ │ ├── dm.svg │ │ │ │ │ │ ├── do.svg │ │ │ │ │ │ ├── dz.svg │ │ │ │ │ │ ├── ec.svg │ │ │ │ │ │ ├── ee.svg │ │ │ │ │ │ ├── eg.svg │ │ │ │ │ │ ├── eh.svg │ │ │ │ │ │ ├── er.svg │ │ │ │ │ │ ├── es-ct.svg │ │ │ │ │ │ ├── es.svg │ │ │ │ │ │ ├── et.svg │ │ │ │ │ │ ├── eu.svg │ │ │ │ │ │ ├── fi.svg │ │ │ │ │ │ ├── fj.svg │ │ │ │ │ │ ├── fk.svg │ │ │ │ │ │ ├── fm.svg │ │ │ │ │ │ ├── fo.svg │ │ │ │ │ │ ├── fr.svg │ │ │ │ │ │ ├── ga.svg │ │ │ │ │ │ ├── gb-eng.svg │ │ │ │ │ │ ├── gb-nir.svg │ │ │ │ │ │ ├── gb-sct.svg │ │ │ │ │ │ ├── gb-wls.svg │ │ │ │ │ │ ├── gb.svg │ │ │ │ │ │ ├── gd.svg │ │ │ │ │ │ ├── ge.svg │ │ │ │ │ │ ├── gf.svg │ │ │ │ │ │ ├── gg.svg │ │ │ │ │ │ ├── gh.svg │ │ │ │ │ │ ├── gi.svg │ │ │ │ │ │ ├── gl.svg │ │ │ │ │ │ ├── gm.svg │ │ │ │ │ │ ├── gn.svg │ │ │ │ │ │ ├── gp.svg │ │ │ │ │ │ ├── gq.svg │ │ │ │ │ │ ├── gr.svg │ │ │ │ │ │ ├── gs.svg │ │ │ │ │ │ ├── gt.svg │ │ │ │ │ │ ├── gu.svg │ │ │ │ │ │ ├── gw.svg │ │ │ │ │ │ ├── gy.svg │ │ │ │ │ │ ├── hk.svg │ │ │ │ │ │ ├── hm.svg │ │ │ │ │ │ ├── hn.svg │ │ │ │ │ │ ├── hr.svg │ │ │ │ │ │ ├── ht.svg │ │ │ │ │ │ ├── hu.svg │ │ │ │ │ │ ├── id.svg │ │ │ │ │ │ ├── ie.svg │ │ │ │ │ │ ├── il.svg │ │ │ │ │ │ ├── im.svg │ │ │ │ │ │ ├── in.svg │ │ │ │ │ │ ├── io.svg │ │ │ │ │ │ ├── iq.svg │ │ │ │ │ │ ├── ir.svg │ │ │ │ │ │ ├── is.svg │ │ │ │ │ │ ├── it.svg │ │ │ │ │ │ ├── je.svg │ │ │ │ │ │ ├── jm.svg │ │ │ │ │ │ ├── jo.svg │ │ │ │ │ │ ├── jp.svg │ │ │ │ │ │ ├── ke.svg │ │ │ │ │ │ ├── kg.svg │ │ │ │ │ │ ├── kh.svg │ │ │ │ │ │ ├── ki.svg │ │ │ │ │ │ ├── km.svg │ │ │ │ │ │ ├── kn.svg │ │ │ │ │ │ ├── kp.svg │ │ │ │ │ │ ├── kr.svg │ │ │ │ │ │ ├── kw.svg │ │ │ │ │ │ ├── ky.svg │ │ │ │ │ │ ├── kz.svg │ │ │ │ │ │ ├── la.svg │ │ │ │ │ │ ├── lb.svg │ │ │ │ │ │ ├── lc.svg │ │ │ │ │ │ ├── li.svg │ │ │ │ │ │ ├── lk.svg │ │ │ │ │ │ ├── lr.svg │ │ │ │ │ │ ├── ls.svg │ │ │ │ │ │ ├── lt.svg │ │ │ │ │ │ ├── lu.svg │ │ │ │ │ │ ├── lv.svg │ │ │ │ │ │ ├── ly.svg │ │ │ │ │ │ ├── ma.svg │ │ │ │ │ │ ├── mc.svg │ │ │ │ │ │ ├── md.svg │ │ │ │ │ │ ├── me.svg │ │ │ │ │ │ ├── mf.svg │ │ │ │ │ │ ├── mg.svg │ │ │ │ │ │ ├── mh.svg │ │ │ │ │ │ ├── mk.svg │ │ │ │ │ │ ├── ml.svg │ │ │ │ │ │ ├── mm.svg │ │ │ │ │ │ ├── mn.svg │ │ │ │ │ │ ├── mo.svg │ │ │ │ │ │ ├── mp.svg │ │ │ │ │ │ ├── mq.svg │ │ │ │ │ │ ├── mr.svg │ │ │ │ │ │ ├── ms.svg │ │ │ │ │ │ ├── mt.svg │ │ │ │ │ │ ├── mu.svg │ │ │ │ │ │ ├── mv.svg │ │ │ │ │ │ ├── mw.svg │ │ │ │ │ │ ├── mx.svg │ │ │ │ │ │ ├── my.svg │ │ │ │ │ │ ├── mz.svg │ │ │ │ │ │ ├── na.svg │ │ │ │ │ │ ├── nc.svg │ │ │ │ │ │ ├── ne.svg │ │ │ │ │ │ ├── nf.svg │ │ │ │ │ │ ├── ng.svg │ │ │ │ │ │ ├── ni.svg │ │ │ │ │ │ ├── nl.svg │ │ │ │ │ │ ├── no.svg │ │ │ │ │ │ ├── np.svg │ │ │ │ │ │ ├── nr.svg │ │ │ │ │ │ ├── nu.svg │ │ │ │ │ │ ├── nz.svg │ │ │ │ │ │ ├── om.svg │ │ │ │ │ │ ├── pa.svg │ │ │ │ │ │ ├── pe.svg │ │ │ │ │ │ ├── pf.svg │ │ │ │ │ │ ├── pg.svg │ │ │ │ │ │ ├── ph.svg │ │ │ │ │ │ ├── pk.svg │ │ │ │ │ │ ├── pl.svg │ │ │ │ │ │ ├── pm.svg │ │ │ │ │ │ ├── pn.svg │ │ │ │ │ │ ├── pr.svg │ │ │ │ │ │ ├── ps.svg │ │ │ │ │ │ ├── pt.svg │ │ │ │ │ │ ├── pw.svg │ │ │ │ │ │ ├── py.svg │ │ │ │ │ │ ├── qa.svg │ │ │ │ │ │ ├── re.svg │ │ │ │ │ │ ├── ro.svg │ │ │ │ │ │ ├── rs.svg │ │ │ │ │ │ ├── ru.svg │ │ │ │ │ │ ├── rw.svg │ │ │ │ │ │ ├── sa.svg │ │ │ │ │ │ ├── sb.svg │ │ │ │ │ │ ├── sc.svg │ │ │ │ │ │ ├── sd.svg │ │ │ │ │ │ ├── se.svg │ │ │ │ │ │ ├── sg.svg │ │ │ │ │ │ ├── sh.svg │ │ │ │ │ │ ├── si.svg │ │ │ │ │ │ ├── sj.svg │ │ │ │ │ │ ├── sk.svg │ │ │ │ │ │ ├── sl.svg │ │ │ │ │ │ ├── sm.svg │ │ │ │ │ │ ├── sn.svg │ │ │ │ │ │ ├── so.svg │ │ │ │ │ │ ├── sr.svg │ │ │ │ │ │ ├── ss.svg │ │ │ │ │ │ ├── st.svg │ │ │ │ │ │ ├── sv.svg │ │ │ │ │ │ ├── sx.svg │ │ │ │ │ │ ├── sy.svg │ │ │ │ │ │ ├── sz.svg │ │ │ │ │ │ ├── tc.svg │ │ │ │ │ │ ├── td.svg │ │ │ │ │ │ ├── tf.svg │ │ │ │ │ │ ├── tg.svg │ │ │ │ │ │ ├── th.svg │ │ │ │ │ │ ├── tj.svg │ │ │ │ │ │ ├── tk.svg │ │ │ │ │ │ ├── tl.svg │ │ │ │ │ │ ├── tm.svg │ │ │ │ │ │ ├── tn.svg │ │ │ │ │ │ ├── to.svg │ │ │ │ │ │ ├── tr.svg │ │ │ │ │ │ ├── tt.svg │ │ │ │ │ │ ├── tv.svg │ │ │ │ │ │ ├── tw.svg │ │ │ │ │ │ ├── tz.svg │ │ │ │ │ │ ├── ua.svg │ │ │ │ │ │ ├── ug.svg │ │ │ │ │ │ ├── um.svg │ │ │ │ │ │ ├── un.svg │ │ │ │ │ │ ├── us.svg │ │ │ │ │ │ ├── uy.svg │ │ │ │ │ │ ├── uz.svg │ │ │ │ │ │ ├── va.svg │ │ │ │ │ │ ├── vc.svg │ │ │ │ │ │ ├── ve.svg │ │ │ │ │ │ ├── vg.svg │ │ │ │ │ │ ├── vi.svg │ │ │ │ │ │ ├── vn.svg │ │ │ │ │ │ ├── vu.svg │ │ │ │ │ │ ├── wf.svg │ │ │ │ │ │ ├── ws.svg │ │ │ │ │ │ ├── xk.svg │ │ │ │ │ │ ├── ye.svg │ │ │ │ │ │ ├── yt.svg │ │ │ │ │ │ ├── za.svg │ │ │ │ │ │ ├── zm.svg │ │ │ │ │ │ └── zw.svg │ │ │ │ │ └── 4x3 │ │ │ │ │ │ ├── ad.svg │ │ │ │ │ │ ├── ae.svg │ │ │ │ │ │ ├── af.svg │ │ │ │ │ │ ├── ag.svg │ │ │ │ │ │ ├── ai.svg │ │ │ │ │ │ ├── al.svg │ │ │ │ │ │ ├── am.svg │ │ │ │ │ │ ├── ao.svg │ │ │ │ │ │ ├── aq.svg │ │ │ │ │ │ ├── ar.svg │ │ │ │ │ │ ├── as.svg │ │ │ │ │ │ ├── at.svg │ │ │ │ │ │ ├── au.svg │ │ │ │ │ │ ├── aw.svg │ │ │ │ │ │ ├── ax.svg │ │ │ │ │ │ ├── az.svg │ │ │ │ │ │ ├── ba.svg │ │ │ │ │ │ ├── bb.svg │ │ │ │ │ │ ├── bd.svg │ │ │ │ │ │ ├── be.svg │ │ │ │ │ │ ├── bf.svg │ │ │ │ │ │ ├── bg.svg │ │ │ │ │ │ ├── bh.svg │ │ │ │ │ │ ├── bi.svg │ │ │ │ │ │ ├── bj.svg │ │ │ │ │ │ ├── bl.svg │ │ │ │ │ │ ├── bm.svg │ │ │ │ │ │ ├── bn.svg │ │ │ │ │ │ ├── bo.svg │ │ │ │ │ │ ├── bq.svg │ │ │ │ │ │ ├── br.svg │ │ │ │ │ │ ├── bs.svg │ │ │ │ │ │ ├── bt.svg │ │ │ │ │ │ ├── bv.svg │ │ │ │ │ │ ├── bw.svg │ │ │ │ │ │ ├── by.svg │ │ │ │ │ │ ├── bz.svg │ │ │ │ │ │ ├── ca.svg │ │ │ │ │ │ ├── cc.svg │ │ │ │ │ │ ├── cd.svg │ │ │ │ │ │ ├── cf.svg │ │ │ │ │ │ ├── cg.svg │ │ │ │ │ │ ├── ch.svg │ │ │ │ │ │ ├── ci.svg │ │ │ │ │ │ ├── ck.svg │ │ │ │ │ │ ├── cl.svg │ │ │ │ │ │ ├── cm.svg │ │ │ │ │ │ ├── cn.svg │ │ │ │ │ │ ├── co.svg │ │ │ │ │ │ ├── cr.svg │ │ │ │ │ │ ├── cu.svg │ │ │ │ │ │ ├── cv.svg │ │ │ │ │ │ ├── cw.svg │ │ │ │ │ │ ├── cx.svg │ │ │ │ │ │ ├── cy.svg │ │ │ │ │ │ ├── cz.svg │ │ │ │ │ │ ├── de.svg │ │ │ │ │ │ ├── dj.svg │ │ │ │ │ │ ├── dk.svg │ │ │ │ │ │ ├── dm.svg │ │ │ │ │ │ ├── do.svg │ │ │ │ │ │ ├── dz.svg │ │ │ │ │ │ ├── ec.svg │ │ │ │ │ │ ├── ee.svg │ │ │ │ │ │ ├── eg.svg │ │ │ │ │ │ ├── eh.svg │ │ │ │ │ │ ├── er.svg │ │ │ │ │ │ ├── es-ct.svg │ │ │ │ │ │ ├── es.svg │ │ │ │ │ │ ├── et.svg │ │ │ │ │ │ ├── eu.svg │ │ │ │ │ │ ├── fi.svg │ │ │ │ │ │ ├── fj.svg │ │ │ │ │ │ ├── fk.svg │ │ │ │ │ │ ├── fm.svg │ │ │ │ │ │ ├── fo.svg │ │ │ │ │ │ ├── fr.svg │ │ │ │ │ │ ├── ga.svg │ │ │ │ │ │ ├── gb-eng.svg │ │ │ │ │ │ ├── gb-nir.svg │ │ │ │ │ │ ├── gb-sct.svg │ │ │ │ │ │ ├── gb-wls.svg │ │ │ │ │ │ ├── gb.svg │ │ │ │ │ │ ├── gd.svg │ │ │ │ │ │ ├── ge.svg │ │ │ │ │ │ ├── gf.svg │ │ │ │ │ │ ├── gg.svg │ │ │ │ │ │ ├── gh.svg │ │ │ │ │ │ ├── gi.svg │ │ │ │ │ │ ├── gl.svg │ │ │ │ │ │ ├── gm.svg │ │ │ │ │ │ ├── gn.svg │ │ │ │ │ │ ├── gp.svg │ │ │ │ │ │ ├── gq.svg │ │ │ │ │ │ ├── gr.svg │ │ │ │ │ │ ├── gs.svg │ │ │ │ │ │ ├── gt.svg │ │ │ │ │ │ ├── gu.svg │ │ │ │ │ │ ├── gw.svg │ │ │ │ │ │ ├── gy.svg │ │ │ │ │ │ ├── hk.svg │ │ │ │ │ │ ├── hm.svg │ │ │ │ │ │ ├── hn.svg │ │ │ │ │ │ ├── hr.svg │ │ │ │ │ │ ├── ht.svg │ │ │ │ │ │ ├── hu.svg │ │ │ │ │ │ ├── id.svg │ │ │ │ │ │ ├── ie.svg │ │ │ │ │ │ ├── il.svg │ │ │ │ │ │ ├── im.svg │ │ │ │ │ │ ├── in.svg │ │ │ │ │ │ ├── io.svg │ │ │ │ │ │ ├── iq.svg │ │ │ │ │ │ ├── ir.svg │ │ │ │ │ │ ├── is.svg │ │ │ │ │ │ ├── it.svg │ │ │ │ │ │ ├── je.svg │ │ │ │ │ │ ├── jm.svg │ │ │ │ │ │ ├── jo.svg │ │ │ │ │ │ ├── jp.svg │ │ │ │ │ │ ├── ke.svg │ │ │ │ │ │ ├── kg.svg │ │ │ │ │ │ ├── kh.svg │ │ │ │ │ │ ├── ki.svg │ │ │ │ │ │ ├── km.svg │ │ │ │ │ │ ├── kn.svg │ │ │ │ │ │ ├── kp.svg │ │ │ │ │ │ ├── kr.svg │ │ │ │ │ │ ├── kw.svg │ │ │ │ │ │ ├── ky.svg │ │ │ │ │ │ ├── kz.svg │ │ │ │ │ │ ├── la.svg │ │ │ │ │ │ ├── lb.svg │ │ │ │ │ │ ├── lc.svg │ │ │ │ │ │ ├── li.svg │ │ │ │ │ │ ├── lk.svg │ │ │ │ │ │ ├── lr.svg │ │ │ │ │ │ ├── ls.svg │ │ │ │ │ │ ├── lt.svg │ │ │ │ │ │ ├── lu.svg │ │ │ │ │ │ ├── lv.svg │ │ │ │ │ │ ├── ly.svg │ │ │ │ │ │ ├── ma.svg │ │ │ │ │ │ ├── mc.svg │ │ │ │ │ │ ├── md.svg │ │ │ │ │ │ ├── me.svg │ │ │ │ │ │ ├── mf.svg │ │ │ │ │ │ ├── mg.svg │ │ │ │ │ │ ├── mh.svg │ │ │ │ │ │ ├── mk.svg │ │ │ │ │ │ ├── ml.svg │ │ │ │ │ │ ├── mm.svg │ │ │ │ │ │ ├── mn.svg │ │ │ │ │ │ ├── mo.svg │ │ │ │ │ │ ├── mp.svg │ │ │ │ │ │ ├── mq.svg │ │ │ │ │ │ ├── mr.svg │ │ │ │ │ │ ├── ms.svg │ │ │ │ │ │ ├── mt.svg │ │ │ │ │ │ ├── mu.svg │ │ │ │ │ │ ├── mv.svg │ │ │ │ │ │ ├── mw.svg │ │ │ │ │ │ ├── mx.svg │ │ │ │ │ │ ├── my.svg │ │ │ │ │ │ ├── mz.svg │ │ │ │ │ │ ├── na.svg │ │ │ │ │ │ ├── nc.svg │ │ │ │ │ │ ├── ne.svg │ │ │ │ │ │ ├── nf.svg │ │ │ │ │ │ ├── ng.svg │ │ │ │ │ │ ├── ni.svg │ │ │ │ │ │ ├── nl.svg │ │ │ │ │ │ ├── no.svg │ │ │ │ │ │ ├── np.svg │ │ │ │ │ │ ├── nr.svg │ │ │ │ │ │ ├── nu.svg │ │ │ │ │ │ ├── nz.svg │ │ │ │ │ │ ├── om.svg │ │ │ │ │ │ ├── pa.svg │ │ │ │ │ │ ├── pe.svg │ │ │ │ │ │ ├── pf.svg │ │ │ │ │ │ ├── pg.svg │ │ │ │ │ │ ├── ph.svg │ │ │ │ │ │ ├── pk.svg │ │ │ │ │ │ ├── pl.svg │ │ │ │ │ │ ├── pm.svg │ │ │ │ │ │ ├── pn.svg │ │ │ │ │ │ ├── pr.svg │ │ │ │ │ │ ├── ps.svg │ │ │ │ │ │ ├── pt.svg │ │ │ │ │ │ ├── pw.svg │ │ │ │ │ │ ├── py.svg │ │ │ │ │ │ ├── qa.svg │ │ │ │ │ │ ├── re.svg │ │ │ │ │ │ ├── ro.svg │ │ │ │ │ │ ├── rs.svg │ │ │ │ │ │ ├── ru.svg │ │ │ │ │ │ ├── rw.svg │ │ │ │ │ │ ├── sa.svg │ │ │ │ │ │ ├── sb.svg │ │ │ │ │ │ ├── sc.svg │ │ │ │ │ │ ├── sd.svg │ │ │ │ │ │ ├── se.svg │ │ │ │ │ │ ├── sg.svg │ │ │ │ │ │ ├── sh.svg │ │ │ │ │ │ ├── si.svg │ │ │ │ │ │ ├── sj.svg │ │ │ │ │ │ ├── sk.svg │ │ │ │ │ │ ├── sl.svg │ │ │ │ │ │ ├── sm.svg │ │ │ │ │ │ ├── sn.svg │ │ │ │ │ │ ├── so.svg │ │ │ │ │ │ ├── sr.svg │ │ │ │ │ │ ├── ss.svg │ │ │ │ │ │ ├── st.svg │ │ │ │ │ │ ├── sv.svg │ │ │ │ │ │ ├── sx.svg │ │ │ │ │ │ ├── sy.svg │ │ │ │ │ │ ├── sz.svg │ │ │ │ │ │ ├── tc.svg │ │ │ │ │ │ ├── td.svg │ │ │ │ │ │ ├── tf.svg │ │ │ │ │ │ ├── tg.svg │ │ │ │ │ │ ├── th.svg │ │ │ │ │ │ ├── tj.svg │ │ │ │ │ │ ├── tk.svg │ │ │ │ │ │ ├── tl.svg │ │ │ │ │ │ ├── tm.svg │ │ │ │ │ │ ├── tn.svg │ │ │ │ │ │ ├── to.svg │ │ │ │ │ │ ├── tr.svg │ │ │ │ │ │ ├── tt.svg │ │ │ │ │ │ ├── tv.svg │ │ │ │ │ │ ├── tw.svg │ │ │ │ │ │ ├── tz.svg │ │ │ │ │ │ ├── ua.svg │ │ │ │ │ │ ├── ug.svg │ │ │ │ │ │ ├── um.svg │ │ │ │ │ │ ├── un.svg │ │ │ │ │ │ ├── us.svg │ │ │ │ │ │ ├── uy.svg │ │ │ │ │ │ ├── uz.svg │ │ │ │ │ │ ├── va.svg │ │ │ │ │ │ ├── vc.svg │ │ │ │ │ │ ├── ve.svg │ │ │ │ │ │ ├── vg.svg │ │ │ │ │ │ ├── vi.svg │ │ │ │ │ │ ├── vn.svg │ │ │ │ │ │ ├── vu.svg │ │ │ │ │ │ ├── wf.svg │ │ │ │ │ │ ├── ws.svg │ │ │ │ │ │ ├── xk.svg │ │ │ │ │ │ ├── ye.svg │ │ │ │ │ │ ├── yt.svg │ │ │ │ │ │ ├── za.svg │ │ │ │ │ │ ├── zm.svg │ │ │ │ │ │ └── zw.svg │ │ │ │ ├── icons.scss │ │ │ │ ├── inputs.scss │ │ │ │ ├── items.scss │ │ │ │ ├── layout.scss │ │ │ │ ├── mixins.scss │ │ │ │ └── themes │ │ │ │ │ └── light.scss │ │ │ ├── ui.js │ │ │ ├── utils │ │ │ │ ├── Api.vue │ │ │ │ ├── Clipboard.vue │ │ │ │ ├── Cookies.vue │ │ │ │ ├── DateTime.vue │ │ │ │ ├── Events.vue │ │ │ │ ├── Extensions.vue │ │ │ │ ├── Notification.vue │ │ │ │ ├── Screen.vue │ │ │ │ ├── Text.vue │ │ │ │ ├── Types.vue │ │ │ │ └── Url.vue │ │ │ └── views │ │ │ │ ├── Dashboard.vue │ │ │ │ ├── Login.vue │ │ │ │ ├── NotFound.vue │ │ │ │ ├── Panel.vue │ │ │ │ ├── Plugin.vue │ │ │ │ └── Register.vue │ │ │ └── vue.config.js │ ├── nodered │ │ ├── __init__.py │ │ ├── manifest.json │ │ └── runner.py │ ├── redis │ │ ├── __init__.py │ │ └── manifest.json │ └── tcp │ │ ├── __init__.py │ │ └── manifest.json ├── builder │ ├── __init__.py │ └── _base.py ├── bus │ ├── __init__.py │ └── redis.py ├── cli.py ├── commands │ ├── __init__.py │ ├── _base.py │ ├── _commands │ │ ├── __init__.py │ │ └── _app_ctrl.py │ ├── _reader.py │ ├── _stream.py │ └── _writer.py ├── common │ ├── __init__.py │ ├── _types.py │ ├── assistant │ │ ├── __init__.py │ │ └── _state.py │ ├── cmd_stream.py │ ├── db.py │ ├── gstreamer │ │ └── __init__.py │ ├── reflection │ │ ├── __init__.py │ │ ├── _model │ │ │ ├── __init__.py │ │ │ ├── action.py │ │ │ ├── argument.py │ │ │ ├── component.py │ │ │ ├── constants.py │ │ │ ├── constructor.py │ │ │ ├── integration.py │ │ │ ├── message.py │ │ │ └── returns.py │ │ ├── _parser │ │ │ ├── __init__.py │ │ │ ├── context.py │ │ │ ├── docstring.py │ │ │ ├── rst.py │ │ │ └── state.py │ │ ├── _serialize.py │ │ └── _utils.py │ ├── sensors.py │ └── spotify │ │ └── __init__.py ├── components.json.gz ├── config │ ├── __init__.py │ ├── config.yaml │ └── systemd │ │ ├── platypush-sysusers.conf │ │ ├── platypush-tmpfile.conf │ │ └── platypush.service ├── context │ └── __init__.py ├── cron │ ├── __init__.py │ └── scheduler.py ├── entities │ ├── __init__.py │ ├── _base.py │ ├── _engine │ │ ├── __init__.py │ │ ├── queue.py │ │ └── repo │ │ │ ├── __init__.py │ │ │ ├── db.py │ │ │ ├── helpers.py │ │ │ └── merger.py │ ├── acceleration.py │ ├── alarm.py │ ├── assistants.py │ ├── audio.py │ ├── batteries.py │ ├── bluetooth │ │ ├── __init__.py │ │ ├── _device.py │ │ └── _service.py │ ├── buttons.py │ ├── cloud.py │ ├── contact.py │ ├── devices.py │ ├── dimmers.py │ ├── distance.py │ ├── electricity.py │ ├── heart.py │ ├── humidity.py │ ├── illuminance.py │ ├── lights.py │ ├── linkquality.py │ ├── magnetism.py │ ├── managers │ │ ├── __init__.py │ │ ├── assistants.py │ │ ├── cloud.py │ │ ├── lights.py │ │ ├── procedures.py │ │ ├── sensors.py │ │ ├── switches.py │ │ └── weather.py │ ├── motion.py │ ├── ping.py │ ├── presence.py │ ├── pressure.py │ ├── procedures.py │ ├── sensors.py │ ├── steps.py │ ├── switches.py │ ├── system.py │ ├── temperature.py │ ├── three_axis.py │ ├── time.py │ ├── variables.py │ ├── weather.py │ └── weight.py ├── event │ ├── __init__.py │ ├── hook.py │ └── processor │ │ └── __init__.py ├── events ├── exceptions │ ├── __init__.py │ └── user.py ├── install │ ├── docker │ │ ├── alpine.Dockerfile │ │ ├── debian.Dockerfile │ │ ├── fedora.Dockerfile │ │ └── ubuntu.Dockerfile │ ├── requirements │ │ ├── alpine.txt │ │ ├── arch.txt │ │ ├── debian.txt │ │ ├── fedora.txt │ │ └── ubuntu.txt │ └── scripts │ │ ├── alpine │ │ ├── PKGCMD │ │ └── install.sh │ │ ├── arch │ │ ├── PKGCMD │ │ └── install.sh │ │ ├── debian │ │ ├── PKGCMD │ │ └── install.sh │ │ ├── fedora │ │ ├── PKGCMD │ │ └── install.sh │ │ ├── install.sh │ │ └── ubuntu ├── logger.py ├── message │ ├── __init__.py │ ├── event │ │ ├── __init__.py │ │ ├── adafruit.py │ │ ├── alarm.py │ │ ├── application.py │ │ ├── assistant │ │ │ └── __init__.py │ │ ├── bluetooth │ │ │ └── __init__.py │ │ ├── camera.py │ │ ├── chat │ │ │ ├── __init__.py │ │ │ └── slack.py │ │ ├── clipboard.py │ │ ├── custom.py │ │ ├── dbus.py │ │ ├── distance.py │ │ ├── entities.py │ │ ├── file.py │ │ ├── flic.py │ │ ├── foursquare.py │ │ ├── geo.py │ │ ├── github.py │ │ ├── google │ │ │ ├── __init__.py │ │ │ └── pubsub.py │ │ ├── gotify.py │ │ ├── gpio │ │ │ └── __init__.py │ │ ├── gps.py │ │ ├── hid.py │ │ ├── http │ │ │ ├── __init__.py │ │ │ ├── hook.py │ │ │ └── rss.py │ │ ├── inotify.py │ │ ├── irc.py │ │ ├── joystick.py │ │ ├── kafka.py │ │ ├── light.py │ │ ├── linode.py │ │ ├── log │ │ │ ├── __init__.py │ │ │ └── http.py │ │ ├── mail.py │ │ ├── matrix.py │ │ ├── media.py │ │ ├── midi.py │ │ ├── mqtt.py │ │ ├── music │ │ │ ├── __init__.py │ │ │ ├── snapcast.py │ │ │ └── tidal.py │ │ ├── nextcloud.py │ │ ├── nfc.py │ │ ├── ngrok.py │ │ ├── ntfy.py │ │ ├── ping.py │ │ ├── pushbullet.py │ │ ├── qrcode.py │ │ ├── rss.py │ │ ├── scard.py │ │ ├── sensor │ │ │ ├── __init__.py │ │ │ ├── ir │ │ │ │ └── __init__.py │ │ │ ├── leap.py │ │ │ └── light │ │ │ │ └── __init__.py │ │ ├── serial │ │ │ └── __init__.py │ │ ├── sound.py │ │ ├── stt.py │ │ ├── sun.py │ │ ├── telegram.py │ │ ├── tensorflow.py │ │ ├── torrent.py │ │ ├── trello.py │ │ ├── video │ │ │ └── __init__.py │ │ ├── weather.py │ │ ├── web │ │ │ ├── __init__.py │ │ │ └── widget.py │ │ ├── websocket.py │ │ ├── xmpp.py │ │ ├── zeroborg.py │ │ ├── zeroconf.py │ │ ├── zigbee │ │ │ ├── __init__.py │ │ │ └── mqtt.py │ │ └── zwave.py │ ├── request │ │ └── __init__.py │ └── response │ │ └── __init__.py ├── migrations │ ├── alembic.ini │ └── alembic │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions │ │ ├── 0876439530cb_added_password_hashing_parameters_to_.py │ │ ├── c39ac404119b_migrate_variable_table.py │ │ └── d030953a871d_base_alembic_version.py ├── platydock │ ├── __init__.py │ └── __main__.py ├── platyvenv │ ├── __init__.py │ └── __main__.py ├── plugins │ ├── __init__.py │ ├── _actions.py │ ├── adafruit │ │ ├── __init__.py │ │ └── io │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── alarm │ │ ├── __init__.py │ │ ├── _model.py │ │ └── manifest.json │ ├── application │ │ ├── __init__.py │ │ └── manifest.json │ ├── arduino │ │ ├── __init__.py │ │ └── manifest.json │ ├── assistant │ │ ├── __init__.py │ │ ├── google │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── openai │ │ │ ├── __init__.py │ │ │ ├── _state.py │ │ │ └── manifest.json │ │ └── picovoice │ │ │ ├── __init__.py │ │ │ ├── _assistant.py │ │ │ ├── _context.py │ │ │ ├── _intent.py │ │ │ ├── _speech │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _intent.py │ │ │ ├── _processor.py │ │ │ └── _stt.py │ │ │ ├── _state.py │ │ │ └── manifest.json │ ├── autoremote │ │ ├── __init__.py │ │ └── manifest.json │ ├── bluetooth │ │ ├── __init__.py │ │ ├── _ble │ │ │ ├── __init__.py │ │ │ ├── _cache.py │ │ │ ├── _connection.py │ │ │ ├── _event_handler.py │ │ │ ├── _manager.py │ │ │ ├── _mappers.py │ │ │ └── _plugins │ │ │ │ ├── __init__.py │ │ │ │ └── switchbot.py │ │ ├── _cache.py │ │ ├── _file │ │ │ ├── __init__.py │ │ │ └── sender.py │ │ ├── _legacy │ │ │ ├── __init__.py │ │ │ ├── _manager │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── _connection.py │ │ │ │ ├── _service.py │ │ │ │ └── _types.py │ │ │ └── _model │ │ │ │ ├── __init__.py │ │ │ │ ├── _device.py │ │ │ │ └── _services.py │ │ ├── _manager.py │ │ ├── _model │ │ │ ├── __init__.py │ │ │ ├── _classes │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── _device │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _major.py │ │ │ │ │ └── _minor.py │ │ │ │ └── _service.py │ │ │ ├── _protocol.py │ │ │ └── _service │ │ │ │ ├── __init__.py │ │ │ │ ├── _directory.py │ │ │ │ └── _directory.pyi │ │ ├── _plugins │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ └── _scanner.py │ │ ├── _types.py │ │ ├── manifest.json │ │ └── model.py │ ├── calendar │ │ ├── __init__.py │ │ ├── ical │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── manifest.json │ ├── camera │ │ ├── __init__.py │ │ ├── android │ │ │ ├── __init__.py │ │ │ └── ipcam │ │ │ │ ├── __init__.py │ │ │ │ └── manifest.json │ │ ├── cv │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── ffmpeg │ │ │ ├── __init__.py │ │ │ ├── manifest.json │ │ │ └── model.py │ │ ├── gstreamer │ │ │ ├── __init__.py │ │ │ ├── manifest.json │ │ │ └── model.py │ │ ├── ir │ │ │ ├── __init__.py │ │ │ └── mlx90640 │ │ │ │ ├── __init__.py │ │ │ │ └── manifest.json │ │ ├── model │ │ │ ├── __init__.py │ │ │ ├── camera.py │ │ │ ├── exceptions.py │ │ │ └── writer │ │ │ │ ├── __init__.py │ │ │ │ ├── cv.py │ │ │ │ ├── ffmpeg.py │ │ │ │ ├── image.py │ │ │ │ ├── index.py │ │ │ │ └── preview │ │ │ │ ├── __init__.py │ │ │ │ ├── ffplay.py │ │ │ │ ├── ui.py │ │ │ │ └── wx │ │ │ │ ├── __init__.py │ │ │ │ └── ui.py │ │ └── pi │ │ │ ├── __init__.py │ │ │ ├── legacy │ │ │ ├── __init__.py │ │ │ ├── manifest.json │ │ │ └── model.py │ │ │ ├── manifest.json │ │ │ └── model.py │ ├── chat │ │ └── __init__.py │ ├── clipboard │ │ ├── __init__.py │ │ └── manifest.json │ ├── config │ │ ├── __init__.py │ │ └── manifest.json │ ├── csv │ │ ├── __init__.py │ │ └── manifest.json │ ├── cups │ │ ├── __init__.py │ │ └── manifest.json │ ├── db │ │ ├── __init__.py │ │ └── manifest.json │ ├── dbus │ │ ├── __init__.py │ │ └── manifest.json │ ├── dropbox │ │ ├── __init__.py │ │ └── manifest.json │ ├── entities │ │ ├── __init__.py │ │ └── manifest.json │ ├── esp │ │ ├── __init__.py │ │ ├── manifest.json │ │ └── models │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ └── device.py │ ├── ffmpeg │ │ ├── __init__.py │ │ └── manifest.json │ ├── file │ │ ├── __init__.py │ │ ├── manifest.json │ │ └── monitor │ │ │ ├── __init__.py │ │ │ ├── entities │ │ │ ├── __init__.py │ │ │ ├── handlers.py │ │ │ └── resources.py │ │ │ └── manifest.json │ ├── flic │ │ ├── __init__.py │ │ ├── fliclib.py │ │ └── manifest.json │ ├── foursquare │ │ ├── __init__.py │ │ └── manifest.json │ ├── github │ │ ├── __init__.py │ │ └── manifest.json │ ├── google │ │ ├── __init__.py │ │ ├── calendar │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── credentials.py │ │ ├── drive │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── mail │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── maps │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── pubsub │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── translate │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── gotify │ │ ├── __init__.py │ │ └── manifest.json │ ├── gpio │ │ ├── __init__.py │ │ ├── manifest.json │ │ └── zeroborg │ │ │ ├── __init__.py │ │ │ ├── lib │ │ │ └── __init__.py │ │ │ └── manifest.json │ ├── gps │ │ ├── __init__.py │ │ ├── _model.py │ │ └── manifest.json │ ├── graphite │ │ ├── __init__.py │ │ └── manifest.json │ ├── hid │ │ ├── __init__.py │ │ └── manifest.json │ ├── http │ │ ├── __init__.py │ │ ├── manifest.json │ │ └── webpage │ │ │ ├── __init__.py │ │ │ ├── manifest.json │ │ │ └── mercury-parser.js │ ├── ifttt │ │ ├── __init__.py │ │ └── manifest.json │ ├── inspect │ │ ├── __init__.py │ │ ├── _cache.py │ │ └── manifest.json │ ├── irc │ │ ├── __init__.py │ │ ├── _bot.py │ │ └── manifest.json │ ├── joystick │ │ ├── __init__.py │ │ ├── _inputs.py │ │ ├── _manager.py │ │ ├── _state.py │ │ └── manifest.json │ ├── kafka │ │ ├── __init__.py │ │ └── manifest.json │ ├── lastfm │ │ ├── __init__.py │ │ └── manifest.json │ ├── lcd │ │ ├── __init__.py │ │ ├── gpio │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── i2c │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── leap │ │ ├── __init__.py │ │ └── manifest.json │ ├── light │ │ ├── __init__.py │ │ └── hue │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── linode │ │ ├── __init__.py │ │ └── manifest.json │ ├── log │ │ ├── __init__.py │ │ └── http │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── logger │ │ ├── __init__.py │ │ └── manifest.json │ ├── luma │ │ ├── __init__.py │ │ └── oled │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── mail │ │ ├── __init__.py │ │ ├── _account.py │ │ ├── _model │ │ │ ├── __init__.py │ │ │ ├── _config │ │ │ │ ├── __init__.py │ │ │ │ ├── _account.py │ │ │ │ └── _server.py │ │ │ ├── _mail.py │ │ │ └── _transport.py │ │ ├── _plugin │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _in.py │ │ │ ├── _out.py │ │ │ └── _utils.py │ │ ├── _utils.py │ │ ├── imap │ │ │ └── __init__.py │ │ ├── manifest.json │ │ └── smtp │ │ │ └── __init__.py │ ├── mailgun │ │ ├── __init__.py │ │ └── manifest.json │ ├── mastodon │ │ ├── __init__.py │ │ └── manifest.json │ ├── matrix │ │ ├── __init__.py │ │ ├── client.py │ │ └── manifest.json │ ├── media │ │ ├── __init__.py │ │ ├── _constants.py │ │ ├── _model.py │ │ ├── _resource │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── downloaders │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── http.py │ │ │ │ └── youtube.py │ │ │ ├── file.py │ │ │ ├── http.py │ │ │ ├── parsers │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── file.py │ │ │ │ ├── http.py │ │ │ │ ├── torrent.py │ │ │ │ └── youtube.py │ │ │ └── youtube.py │ │ ├── _search │ │ │ ├── __init__.py │ │ │ ├── jellyfin.py │ │ │ ├── local │ │ │ │ ├── __init__.py │ │ │ │ ├── db.py │ │ │ │ └── metadata.py │ │ │ ├── plex.py │ │ │ ├── torrent.py │ │ │ └── youtube.py │ │ ├── chromecast │ │ │ ├── __init__.py │ │ │ ├── _listener.py │ │ │ ├── _subtitles.py │ │ │ ├── _utils.py │ │ │ └── manifest.json │ │ ├── gstreamer │ │ │ ├── __init__.py │ │ │ ├── manifest.json │ │ │ └── model.py │ │ ├── jellyfin │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── kodi │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── lib │ │ │ ├── __init__.py │ │ │ └── plexcast.py │ │ ├── mplayer │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── mpv │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── plex │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── subtitles │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── vlc │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── webtorrent │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── midi │ │ ├── __init__.py │ │ ├── _model.py │ │ └── manifest.json │ ├── ml │ │ ├── __init__.py │ │ └── cv │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── mobile │ │ ├── __init__.py │ │ └── join │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── mqtt │ │ ├── __init__.py │ │ ├── _client.py │ │ └── manifest.json │ ├── music │ │ ├── __init__.py │ │ ├── mopidy │ │ │ ├── __init__.py │ │ │ ├── _client.py │ │ │ ├── _common.py │ │ │ ├── _conf.py │ │ │ ├── _exc.py │ │ │ ├── _playlist.py │ │ │ ├── _status.py │ │ │ ├── _sync.py │ │ │ ├── _task.py │ │ │ ├── _track.py │ │ │ └── manifest.json │ │ ├── mpd │ │ │ ├── __init__.py │ │ │ ├── _conf.py │ │ │ ├── _listener.py │ │ │ └── manifest.json │ │ ├── snapcast │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── spotify │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── tidal │ │ │ ├── __init__.py │ │ │ ├── manifest.json │ │ │ └── workers.py │ ├── nextcloud │ │ ├── __init__.py │ │ └── manifest.json │ ├── nfc │ │ ├── __init__.py │ │ └── manifest.json │ ├── ngrok │ │ ├── __init__.py │ │ └── manifest.json │ ├── nmap │ │ ├── __init__.py │ │ └── manifest.json │ ├── ntfy │ │ ├── __init__.py │ │ └── manifest.json │ ├── openai │ │ ├── __init__.py │ │ └── manifest.json │ ├── otp │ │ ├── __init__.py │ │ └── manifest.json │ ├── pihole │ │ ├── __init__.py │ │ └── manifest.json │ ├── ping │ │ ├── __init__.py │ │ └── manifest.json │ ├── procedures │ │ ├── __init__.py │ │ ├── _serialize.py │ │ └── manifest.json │ ├── pushbullet │ │ ├── __init__.py │ │ ├── listener.py │ │ └── manifest.json │ ├── pwm │ │ ├── __init__.py │ │ └── pca9685 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── qrcode │ │ ├── __init__.py │ │ └── manifest.json │ ├── redis │ │ ├── __init__.py │ │ └── manifest.json │ ├── rss │ │ ├── __init__.py │ │ └── manifest.json │ ├── rtorrent │ │ ├── __init__.py │ │ └── manifest.json │ ├── sensor │ │ ├── __init__.py │ │ ├── bme280 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── dht │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── distance │ │ │ ├── __init__.py │ │ │ └── vl53l1x │ │ │ │ ├── __init__.py │ │ │ │ └── manifest.json │ │ ├── envirophat │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── hcsr04 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── lis3dh │ │ │ ├── __init__.py │ │ │ ├── lib │ │ │ │ ├── LIS3DH.py │ │ │ │ └── __init__.py │ │ │ └── manifest.json │ │ ├── ltr559 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── mcp3008 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── pmw3901 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── serial │ │ ├── __init__.py │ │ └── manifest.json │ ├── shell │ │ ├── __init__.py │ │ └── manifest.json │ ├── slack │ │ ├── __init__.py │ │ └── manifest.json │ ├── smartthings │ │ ├── __init__.py │ │ ├── _mappers.py │ │ └── manifest.json │ ├── sound │ │ ├── __init__.py │ │ ├── _converters │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _from_raw.py │ │ │ └── _to_raw.py │ │ ├── _manager │ │ │ ├── __init__.py │ │ │ ├── _device.py │ │ │ ├── _main.py │ │ │ └── _stream.py │ │ ├── _model.py │ │ ├── _streams │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _player │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── _resource.py │ │ │ │ └── _synth │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _base.py │ │ │ │ │ ├── _generator.py │ │ │ │ │ ├── _mix.py │ │ │ │ │ ├── _output.py │ │ │ │ │ ├── _parser.py │ │ │ │ │ ├── _player.py │ │ │ │ │ └── _sound.py │ │ │ └── _recorder.py │ │ ├── _utils │ │ │ ├── __init__.py │ │ │ └── _convert.py │ │ └── manifest.json │ ├── ssh │ │ ├── __init__.py │ │ ├── manifest.json │ │ └── tunnel │ │ │ ├── __init__.py │ │ │ ├── forward.py │ │ │ └── reverse.py │ ├── sun │ │ ├── __init__.py │ │ └── manifest.json │ ├── switch │ │ ├── __init__.py │ │ ├── tplink │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── wemo │ │ │ ├── __init__.py │ │ │ ├── lib.py │ │ │ ├── manifest.json │ │ │ └── scanner.py │ ├── switchbot │ │ ├── __init__.py │ │ ├── _constants.py │ │ ├── _setters.py │ │ └── manifest.json │ ├── system │ │ ├── __init__.py │ │ └── manifest.json │ ├── tcp │ │ ├── __init__.py │ │ └── manifest.json │ ├── telegram │ │ ├── __init__.py │ │ ├── _bridge.py │ │ ├── _model.py │ │ ├── _service.py │ │ ├── _utils.py │ │ └── manifest.json │ ├── tensorflow │ │ ├── __init__.py │ │ └── manifest.json │ ├── todoist │ │ ├── __init__.py │ │ └── manifest.json │ ├── torrent │ │ ├── __init__.py │ │ ├── _search │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _model.py │ │ │ ├── _popcorntime.py │ │ │ └── _torrents_csv │ │ │ │ ├── __init__.py │ │ │ │ ├── _base.py │ │ │ │ ├── _constants.py │ │ │ │ ├── _facade.py │ │ │ │ ├── api.py │ │ │ │ └── local.py │ │ └── manifest.json │ ├── trello │ │ ├── __init__.py │ │ ├── _model.py │ │ └── manifest.json │ ├── tts │ │ ├── __init__.py │ │ ├── google │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── manifest.json │ │ ├── mimic3 │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ ├── openai │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── picovoice │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── tv │ │ ├── __init__.py │ │ └── samsung │ │ │ ├── __init__.py │ │ │ └── ws │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── twilio │ │ ├── __init__.py │ │ └── manifest.json │ ├── udp │ │ ├── __init__.py │ │ └── manifest.json │ ├── user │ │ ├── __init__.py │ │ └── manifest.json │ ├── utils │ │ ├── __init__.py │ │ └── manifest.json │ ├── variable │ │ ├── __init__.py │ │ └── manifest.json │ ├── wallabag │ │ ├── __init__.py │ │ └── manifest.json │ ├── weather │ │ ├── __init__.py │ │ ├── buienradar │ │ │ ├── __init__.py │ │ │ └── manifest.json │ │ └── openweathermap │ │ │ ├── __init__.py │ │ │ └── manifest.json │ ├── websocket │ │ ├── __init__.py │ │ └── manifest.json │ ├── xmpp │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── _config.py │ │ ├── _handlers │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _connection.py │ │ │ ├── _conversation.py │ │ │ ├── _discover.py │ │ │ ├── _message.py │ │ │ ├── _ping.py │ │ │ ├── _presence.py │ │ │ ├── _pubsub.py │ │ │ ├── _registry.py │ │ │ ├── _room.py │ │ │ └── _roster.py │ │ ├── _mixins │ │ │ ├── __init__.py │ │ │ ├── _async.py │ │ │ ├── _base.py │ │ │ ├── _config.py │ │ │ ├── _event_state.py │ │ │ ├── _events.py │ │ │ └── _state.py │ │ ├── _state │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _serializer.py │ │ ├── _types │ │ │ ├── __init__.py │ │ │ ├── _errors.py │ │ │ ├── _invite.py │ │ │ └── _presence.py │ │ └── manifest.json │ ├── youtube │ │ ├── __init__.py │ │ ├── backends │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── google.py │ │ │ ├── invidious.py │ │ │ └── piped.py │ │ ├── manifest.json │ │ └── model │ │ │ └── __init__.py │ ├── zeroconf │ │ ├── __init__.py │ │ └── manifest.json │ ├── zigbee │ │ ├── __init__.py │ │ └── mqtt │ │ │ ├── __init__.py │ │ │ ├── _state.py │ │ │ └── manifest.json │ └── zwave │ │ ├── __init__.py │ │ ├── _constants.py │ │ └── mqtt │ │ ├── __init__.py │ │ ├── _state.py │ │ └── manifest.json ├── procedure │ └── __init__.py ├── process │ └── __init__.py ├── runner │ ├── __init__.py │ ├── __main__.py │ ├── _app.py │ └── _runner.py ├── schemas │ ├── __init__.py │ ├── camera │ │ └── android │ │ │ ├── __init__.py │ │ │ └── ipcam.py │ ├── cups.py │ ├── dataclasses │ │ └── __init__.py │ ├── dbus.py │ ├── esp.py │ ├── google │ │ └── drive.py │ ├── gotify.py │ ├── gps.py │ ├── hid.py │ ├── invidious.py │ ├── irc.py │ ├── joystick.py │ ├── linode │ │ ├── __init__.py │ │ ├── _model.py │ │ └── _schemas.py │ ├── maps.py │ ├── mastodon.py │ ├── matrix.py │ ├── media │ │ ├── __init__.py │ │ ├── download.py │ │ └── jellyfin.py │ ├── mopidy.py │ ├── ngrok.py │ ├── pihole.py │ ├── ping.py │ ├── piped.py │ ├── pushbullet.py │ ├── qrcode.py │ ├── rss.py │ ├── slack.py │ ├── spotify.py │ ├── sun.py │ ├── switch.py │ ├── switchbot.py │ ├── system │ │ ├── __init__.py │ │ ├── _base.py │ │ ├── _battery │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _connection │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _cpu │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _disk │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _fan │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _memory │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _model.py │ │ ├── _network │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _process │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ ├── _schemas.py │ │ ├── _temperature │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ │ └── _user │ │ │ ├── __init__.py │ │ │ ├── _model.py │ │ │ └── _schemas.py │ ├── telegram.py │ ├── tensorflow.py │ ├── tidal.py │ ├── todoist.py │ ├── torrent.py │ ├── trello.py │ ├── tts │ │ ├── __init__.py │ │ └── mimic3.py │ ├── wallabag.py │ ├── weather │ │ ├── __init__.py │ │ ├── buienradar.py │ │ └── openweathermap.py │ └── youtube.py ├── user │ ├── __init__.py │ └── _model.py └── utils │ ├── __init__.py │ ├── manifest.py │ ├── media.py │ ├── mock │ ├── __init__.py │ └── modules.py │ ├── ngrok.py │ ├── threads.py │ └── workers.py ├── pyproject.toml ├── requirements-tests.txt ├── requirements.txt ├── setup.cfg ├── setup.py ├── tests ├── __init__.py ├── __main__.py ├── conftest.py ├── etc │ ├── config_test.yaml │ ├── include │ │ └── test_procedure.yaml │ └── scripts │ │ ├── __init__.py │ │ └── test_cron.py ├── test_cron.py ├── test_event_parse.py ├── test_http.py ├── test_procedure.py └── utils.py └── version.py /.dockerignore: -------------------------------------------------------------------------------- 1 | **/.git 2 | **/node_modules 3 | **/__pycache__ 4 | **/venv 5 | **/.mypy_cache 6 | **/build 7 | -------------------------------------------------------------------------------- /.drone/run-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | apk add --update --no-cache $(cat platypush/install/requirements/alpine.txt) 4 | pip install . --break-system-packages 5 | pip install -r requirements-tests.txt --break-system-packages 6 | pytest tests 7 | -------------------------------------------------------------------------------- /.drone/update-pip-package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | apk add --update --no-cache py3-twine py3-setuptools py3-wheel py3-pip 4 | python setup.py sdist bdist_wheel 5 | twine upload dist/platypush-$(python setup.py --version).tar.gz 6 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "platypush/plugins/gpio/sensor/ir/mlx90640/lib"] 2 | path = platypush/plugins/camera/ir/mlx90640/lib 3 | url = https://github.com/pimoroni/mlx90640-library 4 | -------------------------------------------------------------------------------- /.ignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | -------------------------------------------------------------------------------- /Dockerfile.alpine: -------------------------------------------------------------------------------- 1 | platypush/install/docker/alpine.Dockerfile -------------------------------------------------------------------------------- /assets/logo-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/assets/logo-128.png -------------------------------------------------------------------------------- /assets/logo-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/assets/logo-256.png -------------------------------------------------------------------------------- /assets/logo-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/assets/logo-64.png -------------------------------------------------------------------------------- /docs/source/backends.rst: -------------------------------------------------------------------------------- 1 | 2 | Backends 3 | ======== 4 | 5 | .. toctree:: 6 | :maxdepth: 1 7 | :caption: Backends: 8 | 9 | platypush/backend/http.rst 10 | platypush/backend/nodered.rst 11 | platypush/backend/redis.rst 12 | platypush/backend/tcp.rst 13 | -------------------------------------------------------------------------------- /docs/source/platypush/backend/http.rst: -------------------------------------------------------------------------------- 1 | ``http`` 2 | ========================== 3 | 4 | .. automodule:: platypush.backend.http 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/backend/nodered.rst: -------------------------------------------------------------------------------- 1 | ``nodered`` 2 | ============================= 3 | 4 | .. automodule:: platypush.backend.nodered 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/backend/redis.rst: -------------------------------------------------------------------------------- 1 | ``redis`` 2 | =========================== 3 | 4 | .. automodule:: platypush.backend.redis 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/backend/tcp.rst: -------------------------------------------------------------------------------- 1 | ``tcp`` 2 | ========================= 3 | 4 | .. automodule:: platypush.backend.tcp 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/adafruit.rst: -------------------------------------------------------------------------------- 1 | ``adafruit`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.adafruit 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/alarm.rst: -------------------------------------------------------------------------------- 1 | ``alarm`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.alarm 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/application.rst: -------------------------------------------------------------------------------- 1 | ``application`` 2 | ======================================= 3 | 4 | .. automodule:: platypush.message.event.application 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/assistant.rst: -------------------------------------------------------------------------------- 1 | ``assistant`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.message.event.assistant 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/bluetooth.rst: -------------------------------------------------------------------------------- 1 | ``bluetooth`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.message.event.bluetooth 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/camera.rst: -------------------------------------------------------------------------------- 1 | ``camera`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.camera 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/chat.slack.rst: -------------------------------------------------------------------------------- 1 | ``chat.slack`` 2 | ============== 3 | 4 | .. automodule:: platypush.message.event.chat.slack 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/clipboard.rst: -------------------------------------------------------------------------------- 1 | ``clipboard`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.message.event.clipboard 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/custom.rst: -------------------------------------------------------------------------------- 1 | ``custom`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.custom 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/dbus.rst: -------------------------------------------------------------------------------- 1 | ``dbus`` 2 | ======== 3 | 4 | .. automodule:: platypush.message.event.dbus 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/distance.rst: -------------------------------------------------------------------------------- 1 | ``distance`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.distance 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/entities.rst: -------------------------------------------------------------------------------- 1 | ``entities`` 2 | ============ 3 | 4 | .. automodule:: platypush.message.event.entities 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/file.rst: -------------------------------------------------------------------------------- 1 | ``file`` 2 | ================================ 3 | 4 | .. automodule:: platypush.message.event.file 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/flic.rst: -------------------------------------------------------------------------------- 1 | ``flic`` 2 | ======== 3 | 4 | .. automodule:: platypush.message.event.flic 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/foursquare.rst: -------------------------------------------------------------------------------- 1 | ``foursquare`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.message.event.foursquare 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/geo.rst: -------------------------------------------------------------------------------- 1 | ``geo`` 2 | =============================== 3 | 4 | .. automodule:: platypush.message.event.geo 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/github.rst: -------------------------------------------------------------------------------- 1 | ``github`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.github 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/google.pubsub.rst: -------------------------------------------------------------------------------- 1 | ``google.pubsub`` 2 | ========================================= 3 | 4 | .. automodule:: platypush.message.event.google.pubsub 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/google.rst: -------------------------------------------------------------------------------- 1 | ``google`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.google 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/gotify.rst: -------------------------------------------------------------------------------- 1 | ``gotify`` 2 | ========== 3 | 4 | .. automodule:: platypush.message.event.gotify 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/gpio.rst: -------------------------------------------------------------------------------- 1 | ``gpio`` 2 | ======== 3 | 4 | .. automodule:: platypush.message.event.gpio 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/gps.rst: -------------------------------------------------------------------------------- 1 | ``gps`` 2 | =============================== 3 | 4 | .. automodule:: platypush.message.event.gps 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/hid.rst: -------------------------------------------------------------------------------- 1 | ``hid`` 2 | ======= 3 | 4 | .. automodule:: platypush.message.event.hid 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/http.hook.rst: -------------------------------------------------------------------------------- 1 | ``http.hook`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.message.event.http.hook 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/http.rss.rst: -------------------------------------------------------------------------------- 1 | ``http.rss`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.http.rss 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/http.rst: -------------------------------------------------------------------------------- 1 | ``http`` 2 | ================================ 3 | 4 | .. automodule:: platypush.message.event.http 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/inotify.rst: -------------------------------------------------------------------------------- 1 | ``inotify`` 2 | =================================== 3 | 4 | .. automodule:: platypush.message.event.inotify 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/irc.rst: -------------------------------------------------------------------------------- 1 | ``irc`` 2 | ======= 3 | 4 | .. automodule:: platypush.message.event.irc 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/joystick.rst: -------------------------------------------------------------------------------- 1 | ``joystick`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.joystick 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/kafka.rst: -------------------------------------------------------------------------------- 1 | ``kafka`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.kafka 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/light.rst: -------------------------------------------------------------------------------- 1 | ``light`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.light 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/linode.rst: -------------------------------------------------------------------------------- 1 | ``linode`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.linode 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/log.http.rst: -------------------------------------------------------------------------------- 1 | ``log.http`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.log.http 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/mail.rst: -------------------------------------------------------------------------------- 1 | ``mail`` 2 | ================================ 3 | 4 | .. automodule:: platypush.message.event.mail 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/matrix.rst: -------------------------------------------------------------------------------- 1 | ``matrix`` 2 | ========== 3 | 4 | .. automodule:: platypush.message.event.matrix 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/media.rst: -------------------------------------------------------------------------------- 1 | ``media`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.media 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/midi.rst: -------------------------------------------------------------------------------- 1 | ``midi`` 2 | ================================ 3 | 4 | .. automodule:: platypush.message.event.midi 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/mqtt.rst: -------------------------------------------------------------------------------- 1 | ``mqtt`` 2 | ================================ 3 | 4 | .. automodule:: platypush.message.event.mqtt 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/music.rst: -------------------------------------------------------------------------------- 1 | ``music`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.music 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/music.snapcast.rst: -------------------------------------------------------------------------------- 1 | ``music.snapcast`` 2 | ========================================== 3 | 4 | .. automodule:: platypush.message.event.music.snapcast 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/music.tidal.rst: -------------------------------------------------------------------------------- 1 | ``music.tidal`` 2 | =============== 3 | 4 | .. automodule:: platypush.message.event.music.tidal 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/nextcloud.rst: -------------------------------------------------------------------------------- 1 | ``nextcloud`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.message.event.nextcloud 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/nfc.rst: -------------------------------------------------------------------------------- 1 | ``nfc`` 2 | =============================== 3 | 4 | .. automodule:: platypush.message.event.nfc 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/ngrok.rst: -------------------------------------------------------------------------------- 1 | ``ngrok`` 2 | ========= 3 | 4 | .. automodule:: platypush.message.event.ngrok 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/ntfy.rst: -------------------------------------------------------------------------------- 1 | ``ntfy`` 2 | ======== 3 | 4 | .. automodule:: platypush.message.event.ntfy 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/ping.rst: -------------------------------------------------------------------------------- 1 | ``ping`` 2 | ================================ 3 | 4 | .. automodule:: platypush.message.event.ping 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/pushbullet.rst: -------------------------------------------------------------------------------- 1 | ``pushbullet`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.message.event.pushbullet 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/qrcode.rst: -------------------------------------------------------------------------------- 1 | ``qrcode`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.qrcode 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/rss.rst: -------------------------------------------------------------------------------- 1 | ``rss`` 2 | ======= 3 | 4 | .. automodule:: platypush.message.event.rss 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/scard.rst: -------------------------------------------------------------------------------- 1 | ``scard`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.scard 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/sensor.ir.rst: -------------------------------------------------------------------------------- 1 | ``sensor.ir`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.message.event.sensor.ir 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/sensor.leap.rst: -------------------------------------------------------------------------------- 1 | ``sensor.leap`` 2 | ======================================= 3 | 4 | .. automodule:: platypush.message.event.sensor.leap 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/sensor.light.rst: -------------------------------------------------------------------------------- 1 | ``sensor.light`` 2 | ======================================== 3 | 4 | .. automodule:: platypush.message.event.sensor.light 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/sensor.rst: -------------------------------------------------------------------------------- 1 | ``sensor`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.sensor 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/serial.rst: -------------------------------------------------------------------------------- 1 | ``serial`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.serial 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/sound.rst: -------------------------------------------------------------------------------- 1 | ``sound`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.sound 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/stt.rst: -------------------------------------------------------------------------------- 1 | ``stt`` 2 | =============================== 3 | 4 | .. automodule:: platypush.message.event.stt 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/sun.rst: -------------------------------------------------------------------------------- 1 | ``sun`` 2 | ======= 3 | 4 | .. automodule:: platypush.message.event.sun 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/telegram.rst: -------------------------------------------------------------------------------- 1 | ``telegram`` 2 | ============ 3 | 4 | .. automodule:: platypush.message.event.telegram 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/tensorflow.rst: -------------------------------------------------------------------------------- 1 | ``tensorflow`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.message.event.tensorflow 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/torrent.rst: -------------------------------------------------------------------------------- 1 | ``torrent`` 2 | =================================== 3 | 4 | .. automodule:: platypush.message.event.torrent 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/trello.rst: -------------------------------------------------------------------------------- 1 | ``trello`` 2 | ================================== 3 | 4 | .. automodule:: platypush.message.event.trello 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/video.rst: -------------------------------------------------------------------------------- 1 | ``video`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.video 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/weather.rst: -------------------------------------------------------------------------------- 1 | ``weather`` 2 | =================================== 3 | 4 | .. automodule:: platypush.message.event.weather 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/web.rst: -------------------------------------------------------------------------------- 1 | ``web`` 2 | =============================== 3 | 4 | .. automodule:: platypush.message.event.web 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/web.widget.rst: -------------------------------------------------------------------------------- 1 | ``web.widget`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.message.event.web.widget 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/events/websocket.rst: -------------------------------------------------------------------------------- 1 | ``websocket`` 2 | ============= 3 | 4 | .. automodule:: platypush.message.event.websocket 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/xmpp.rst: -------------------------------------------------------------------------------- 1 | ``xmpp`` 2 | ======== 3 | 4 | .. automodule:: platypush.message.event.xmpp 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/zeroborg.rst: -------------------------------------------------------------------------------- 1 | ``zeroborg`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.zeroborg 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/zeroconf.rst: -------------------------------------------------------------------------------- 1 | ``zeroconf`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.message.event.zeroconf 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/zigbee.mqtt.rst: -------------------------------------------------------------------------------- 1 | ``zigbee.mqtt`` 2 | ======================================= 3 | 4 | .. automodule:: platypush.message.event.zigbee.mqtt 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/events/zwave.rst: -------------------------------------------------------------------------------- 1 | ``zwave`` 2 | ================================= 3 | 4 | .. automodule:: platypush.message.event.zwave 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/adafruit.io.rst: -------------------------------------------------------------------------------- 1 | ``adafruit.io`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.adafruit.io 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/alarm.rst: -------------------------------------------------------------------------------- 1 | ``alarm`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.alarm 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/application.rst: -------------------------------------------------------------------------------- 1 | ``application`` 2 | =============== 3 | 4 | .. automodule:: platypush.plugins.application 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/arduino.rst: -------------------------------------------------------------------------------- 1 | ``arduino`` 2 | ============================= 3 | 4 | .. automodule:: platypush.plugins.arduino 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/assistant.google.rst: -------------------------------------------------------------------------------- 1 | ``assistant.google`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.assistant.google 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/assistant.openai.rst: -------------------------------------------------------------------------------- 1 | ``assistant.openai`` 2 | ==================== 3 | 4 | .. automodule:: platypush.plugins.assistant.openai 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/assistant.picovoice.rst: -------------------------------------------------------------------------------- 1 | ``assistant.picovoice`` 2 | ======================= 3 | 4 | .. automodule:: platypush.plugins.assistant.picovoice 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/autoremote.rst: -------------------------------------------------------------------------------- 1 | ``autoremote`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.autoremote 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/bluetooth.rst: -------------------------------------------------------------------------------- 1 | ``bluetooth`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.bluetooth 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/calendar.ical.rst: -------------------------------------------------------------------------------- 1 | ``calendar.ical`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.calendar.ical 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/calendar.rst: -------------------------------------------------------------------------------- 1 | ``calendar`` 2 | ============================== 3 | 4 | .. automodule:: platypush.plugins.calendar 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.android.ipcam.rst: -------------------------------------------------------------------------------- 1 | ``camera.android.ipcam`` 2 | ========================================== 3 | 4 | .. automodule:: platypush.plugins.camera.android.ipcam 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.cv.rst: -------------------------------------------------------------------------------- 1 | ``camera.cv`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.camera.cv 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.ffmpeg.rst: -------------------------------------------------------------------------------- 1 | ``camera.ffmpeg`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.camera.ffmpeg 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.gstreamer.rst: -------------------------------------------------------------------------------- 1 | ``camera.gstreamer`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.camera.gstreamer 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.ir.mlx90640.rst: -------------------------------------------------------------------------------- 1 | ``camera.ir.mlx90640`` 2 | ======================================== 3 | 4 | .. automodule:: platypush.plugins.camera.ir.mlx90640 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.pi.legacy.rst: -------------------------------------------------------------------------------- 1 | ``camera.pi.legacy`` 2 | ==================== 3 | 4 | .. automodule:: platypush.plugins.camera.pi.legacy 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/camera.pi.rst: -------------------------------------------------------------------------------- 1 | ``camera.pi`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.camera.pi 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/clipboard.rst: -------------------------------------------------------------------------------- 1 | ``clipboard`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.clipboard 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/config.rst: -------------------------------------------------------------------------------- 1 | ``config`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.config 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/csv.rst: -------------------------------------------------------------------------------- 1 | ``csv`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.csv 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/cups.rst: -------------------------------------------------------------------------------- 1 | ``cups`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.cups 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/db.rst: -------------------------------------------------------------------------------- 1 | ``db`` 2 | ======================== 3 | 4 | .. automodule:: platypush.plugins.db 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/dbus.rst: -------------------------------------------------------------------------------- 1 | ``dbus`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.dbus 5 | :exclude-members: DBusService, BusType 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/dropbox.rst: -------------------------------------------------------------------------------- 1 | ``dropbox`` 2 | ============================= 3 | 4 | .. automodule:: platypush.plugins.dropbox 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/entities.rst: -------------------------------------------------------------------------------- 1 | ``entities`` 2 | ============ 3 | 4 | .. automodule:: platypush.plugins.entities 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/esp.rst: -------------------------------------------------------------------------------- 1 | ``esp`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.esp 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ffmpeg.rst: -------------------------------------------------------------------------------- 1 | ``ffmpeg`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.ffmpeg 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/file.monitor.rst: -------------------------------------------------------------------------------- 1 | ``file.monitor`` 2 | ================ 3 | 4 | .. automodule:: platypush.plugins.file.monitor 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/file.rst: -------------------------------------------------------------------------------- 1 | ``file`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.file 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/flic.rst: -------------------------------------------------------------------------------- 1 | ``flic`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.flic 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/foursquare.rst: -------------------------------------------------------------------------------- 1 | ``foursquare`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.foursquare 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/github.rst: -------------------------------------------------------------------------------- 1 | ``github`` 2 | ========== 3 | 4 | .. automodule:: platypush.plugins.github 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/google.calendar.rst: -------------------------------------------------------------------------------- 1 | ``google.calendar`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.plugins.google.calendar 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/google.drive.rst: -------------------------------------------------------------------------------- 1 | ``google.drive`` 2 | ================================== 3 | 4 | .. automodule:: platypush.plugins.google.drive 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/google.mail.rst: -------------------------------------------------------------------------------- 1 | ``google.mail`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.google.mail 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/google.maps.rst: -------------------------------------------------------------------------------- 1 | ``google.maps`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.google.maps 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/google.pubsub.rst: -------------------------------------------------------------------------------- 1 | ``google.pubsub`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.google.pubsub 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/google.translate.rst: -------------------------------------------------------------------------------- 1 | ``google.translate`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.google.translate 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/gotify.rst: -------------------------------------------------------------------------------- 1 | ``gotify`` 2 | ========== 3 | 4 | .. automodule:: platypush.plugins.gotify 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/gpio.rst: -------------------------------------------------------------------------------- 1 | ``gpio`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.gpio 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/gpio.zeroborg.rst: -------------------------------------------------------------------------------- 1 | ``gpio.zeroborg`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.gpio.zeroborg 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/gps.rst: -------------------------------------------------------------------------------- 1 | ``gps`` 2 | ======= 3 | 4 | .. automodule:: platypush.plugins.gps 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/graphite.rst: -------------------------------------------------------------------------------- 1 | ``graphite`` 2 | ============================== 3 | 4 | .. automodule:: platypush.plugins.graphite 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/hid.rst: -------------------------------------------------------------------------------- 1 | ``hid`` 2 | ======= 3 | 4 | .. automodule:: platypush.plugins.hid 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/http.rst: -------------------------------------------------------------------------------- 1 | ``http`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.http 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/http.webpage.rst: -------------------------------------------------------------------------------- 1 | ``http.webpage`` 2 | ================================== 3 | 4 | .. automodule:: platypush.plugins.http.webpage 5 | :members: 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ifttt.rst: -------------------------------------------------------------------------------- 1 | ``ifttt`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.ifttt 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/inspect.rst: -------------------------------------------------------------------------------- 1 | ``inspect`` 2 | ============================= 3 | 4 | .. automodule:: platypush.plugins.inspect 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/irc.rst: -------------------------------------------------------------------------------- 1 | ``irc`` 2 | ======= 3 | 4 | .. automodule:: platypush.plugins.irc 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/joystick.rst: -------------------------------------------------------------------------------- 1 | ``joystick`` 2 | ============ 3 | 4 | .. automodule:: platypush.plugins.joystick 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/kafka.rst: -------------------------------------------------------------------------------- 1 | ``kafka`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.kafka 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/lastfm.rst: -------------------------------------------------------------------------------- 1 | ``lastfm`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.lastfm 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/lcd.gpio.rst: -------------------------------------------------------------------------------- 1 | ``lcd.gpio`` 2 | ============================== 3 | 4 | .. automodule:: platypush.plugins.lcd.gpio 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/lcd.i2c.rst: -------------------------------------------------------------------------------- 1 | ``lcd.i2c`` 2 | ============================= 3 | 4 | .. automodule:: platypush.plugins.lcd.i2c 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/leap.rst: -------------------------------------------------------------------------------- 1 | ``leap`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.leap 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/light.hue.rst: -------------------------------------------------------------------------------- 1 | ``light.hue`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.light.hue 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/linode.rst: -------------------------------------------------------------------------------- 1 | ``linode`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.linode 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/log.http.rst: -------------------------------------------------------------------------------- 1 | ``log.http`` 2 | ============ 3 | 4 | .. automodule:: platypush.plugins.log.http 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/logger.rst: -------------------------------------------------------------------------------- 1 | ``logger`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.logger 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/luma.oled.rst: -------------------------------------------------------------------------------- 1 | ``luma.oled`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.luma.oled 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/mail.rst: -------------------------------------------------------------------------------- 1 | ``mail`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.mail 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/mailgun.rst: -------------------------------------------------------------------------------- 1 | ``mailgun`` 2 | =========== 3 | 4 | .. automodule:: platypush.plugins.mailgun 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/mastodon.rst: -------------------------------------------------------------------------------- 1 | ``mastodon`` 2 | ============ 3 | 4 | .. automodule:: platypush.plugins.mastodon 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/matrix.rst: -------------------------------------------------------------------------------- 1 | ``matrix`` 2 | ========== 3 | 4 | .. automodule:: platypush.plugins.matrix 5 | :members: MatrixPlugin 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.chromecast.rst: -------------------------------------------------------------------------------- 1 | ``media.chromecast`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.media.chromecast 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.gstreamer.rst: -------------------------------------------------------------------------------- 1 | ``media.gstreamer`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.plugins.media.gstreamer 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.jellyfin.rst: -------------------------------------------------------------------------------- 1 | ``media.jellyfin`` 2 | ================== 3 | 4 | .. automodule:: platypush.plugins.media.jellyfin 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.kodi.rst: -------------------------------------------------------------------------------- 1 | ``media.kodi`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.media.kodi 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.mplayer.rst: -------------------------------------------------------------------------------- 1 | ``media.mplayer`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.media.mplayer 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.mpv.rst: -------------------------------------------------------------------------------- 1 | ``media.mpv`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.media.mpv 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.plex.rst: -------------------------------------------------------------------------------- 1 | ``media.plex`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.media.plex 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.subtitles.rst: -------------------------------------------------------------------------------- 1 | ``media.subtitles`` 2 | ===================================== 3 | 4 | .. automodule:: platypush.plugins.media.subtitles 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.vlc.rst: -------------------------------------------------------------------------------- 1 | ``media.vlc`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.media.vlc 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/media.webtorrent.rst: -------------------------------------------------------------------------------- 1 | ``media.webtorrent`` 2 | ====================================== 3 | 4 | .. automodule:: platypush.plugins.media.webtorrent 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/midi.rst: -------------------------------------------------------------------------------- 1 | ``midi`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.midi 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ml.cv.rst: -------------------------------------------------------------------------------- 1 | ``ml.cv`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.ml.cv 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/mobile.join.rst: -------------------------------------------------------------------------------- 1 | ``mobile.join`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.mobile.join 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/mqtt.rst: -------------------------------------------------------------------------------- 1 | ``mqtt`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.mqtt 5 | :members: 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/music.mopidy.rst: -------------------------------------------------------------------------------- 1 | ``music.mopidy`` 2 | ================ 3 | 4 | .. automodule:: platypush.plugins.music.mopidy 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/music.mpd.rst: -------------------------------------------------------------------------------- 1 | ``music.mpd`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.music.mpd 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/music.snapcast.rst: -------------------------------------------------------------------------------- 1 | ``music.snapcast`` 2 | ==================================== 3 | 4 | .. automodule:: platypush.plugins.music.snapcast 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/music.spotify.rst: -------------------------------------------------------------------------------- 1 | ``music.spotify`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.music.spotify 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/music.tidal.rst: -------------------------------------------------------------------------------- 1 | ``music.tidal`` 2 | =============== 3 | 4 | .. automodule:: platypush.plugins.music.tidal 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/nextcloud.rst: -------------------------------------------------------------------------------- 1 | ``nextcloud`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.nextcloud 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/nfc.rst: -------------------------------------------------------------------------------- 1 | ``nfc`` 2 | ======= 3 | 4 | .. automodule:: platypush.plugins.nfc 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ngrok.rst: -------------------------------------------------------------------------------- 1 | ``ngrok`` 2 | ========= 3 | 4 | .. automodule:: platypush.plugins.ngrok 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/nmap.rst: -------------------------------------------------------------------------------- 1 | ``nmap`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.nmap 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ntfy.rst: -------------------------------------------------------------------------------- 1 | ``ntfy`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.ntfy 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/openai.rst: -------------------------------------------------------------------------------- 1 | ``openai`` 2 | ========== 3 | 4 | .. automodule:: platypush.plugins.openai 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/otp.rst: -------------------------------------------------------------------------------- 1 | ``otp`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.otp 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/pihole.rst: -------------------------------------------------------------------------------- 1 | ``pihole`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.pihole 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ping.rst: -------------------------------------------------------------------------------- 1 | ``ping`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.ping 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/procedures.rst: -------------------------------------------------------------------------------- 1 | ``procedures`` 2 | ============== 3 | 4 | .. automodule:: platypush.plugins.procedures 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/pushbullet.rst: -------------------------------------------------------------------------------- 1 | ``pushbullet`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.pushbullet 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/pwm.pca9685.rst: -------------------------------------------------------------------------------- 1 | ``pwm.pca9685`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.pwm.pca9685 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/qrcode.rst: -------------------------------------------------------------------------------- 1 | ``qrcode`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.qrcode 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/redis.rst: -------------------------------------------------------------------------------- 1 | ``redis`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.redis 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/rss.rst: -------------------------------------------------------------------------------- 1 | ``rss`` 2 | ======= 3 | 4 | .. automodule:: platypush.plugins.rss 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/rtorrent.rst: -------------------------------------------------------------------------------- 1 | ``rtorrent`` 2 | ============================== 3 | 4 | .. automodule:: platypush.plugins.rtorrent 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.bme280.rst: -------------------------------------------------------------------------------- 1 | ``sensor.bme280`` 2 | ================= 3 | 4 | .. automodule:: platypush.plugins.sensor.bme280 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.dht.rst: -------------------------------------------------------------------------------- 1 | ``sensor.dht`` 2 | ============== 3 | 4 | .. automodule:: platypush.plugins.sensor.dht 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.distance.vl53l1x.rst: -------------------------------------------------------------------------------- 1 | ``sensor.distance.vl53l1x`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.sensor.distance.vl53l1x 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.envirophat.rst: -------------------------------------------------------------------------------- 1 | ``sensor.envirophat`` 2 | ===================== 3 | 4 | .. automodule:: platypush.plugins.sensor.envirophat 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.hcsr04.rst: -------------------------------------------------------------------------------- 1 | ``sensor.hcsr04`` 2 | ================= 3 | 4 | .. automodule:: platypush.plugins.sensor.hcsr04 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.lis3dh.rst: -------------------------------------------------------------------------------- 1 | ``sensor.lis3dh`` 2 | ================= 3 | 4 | .. automodule:: platypush.plugins.sensor.lis3dh 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.ltr559.rst: -------------------------------------------------------------------------------- 1 | ``sensor.ltr559`` 2 | ================= 3 | 4 | .. automodule:: platypush.plugins.sensor.ltr559 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.mcp3008.rst: -------------------------------------------------------------------------------- 1 | ``sensor.mcp3008`` 2 | ================== 3 | 4 | .. automodule:: platypush.plugins.sensor.mcp3008 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sensor.pmw3901.rst: -------------------------------------------------------------------------------- 1 | ``sensor.pmw3901`` 2 | ================== 3 | 4 | .. automodule:: platypush.plugins.sensor.pmw3901 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/serial.rst: -------------------------------------------------------------------------------- 1 | ``serial`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.serial 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/shell.rst: -------------------------------------------------------------------------------- 1 | ``shell`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.shell 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/slack.rst: -------------------------------------------------------------------------------- 1 | ``slack`` 2 | ========= 3 | 4 | .. automodule:: platypush.plugins.slack 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/smartthings.rst: -------------------------------------------------------------------------------- 1 | ``smartthings`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.smartthings 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sound.rst: -------------------------------------------------------------------------------- 1 | ``sound`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.sound 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/ssh.rst: -------------------------------------------------------------------------------- 1 | ``ssh`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.ssh 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/sun.rst: -------------------------------------------------------------------------------- 1 | ``sun`` 2 | ======= 3 | 4 | .. automodule:: platypush.plugins.sun 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/switch.tplink.rst: -------------------------------------------------------------------------------- 1 | ``switch.tplink`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.switch.tplink 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/switch.wemo.rst: -------------------------------------------------------------------------------- 1 | ``switch.wemo`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.switch.wemo 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/switchbot.rst: -------------------------------------------------------------------------------- 1 | ``switchbot`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.switchbot 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/system.rst: -------------------------------------------------------------------------------- 1 | ``system`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.system 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tcp.rst: -------------------------------------------------------------------------------- 1 | ``tcp`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.tcp 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/telegram.rst: -------------------------------------------------------------------------------- 1 | ``telegram`` 2 | ============ 3 | 4 | .. automodule:: platypush.plugins.telegram 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tensorflow.rst: -------------------------------------------------------------------------------- 1 | ``tensorflow`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.tensorflow 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/todoist.rst: -------------------------------------------------------------------------------- 1 | ``todoist`` 2 | ============================= 3 | 4 | .. automodule:: platypush.plugins.todoist 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/torrent.rst: -------------------------------------------------------------------------------- 1 | ``torrent`` 2 | ============================= 3 | 4 | .. automodule:: platypush.plugins.torrent 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/trello.rst: -------------------------------------------------------------------------------- 1 | ``trello`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.trello 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tts.google.rst: -------------------------------------------------------------------------------- 1 | ``tts.google`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.tts.google 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tts.mimic3.rst: -------------------------------------------------------------------------------- 1 | ``tts.mimic3`` 2 | ============== 3 | 4 | .. automodule:: platypush.plugins.tts.mimic3 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tts.openai.rst: -------------------------------------------------------------------------------- 1 | ``tts.openai`` 2 | ============== 3 | 4 | .. automodule:: platypush.plugins.tts.openai 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tts.picovoice.rst: -------------------------------------------------------------------------------- 1 | ``tts.picovoice`` 2 | ================= 3 | 4 | .. automodule:: platypush.plugins.tts.picovoice 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tts.rst: -------------------------------------------------------------------------------- 1 | ``tts`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.tts 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/tv.samsung.ws.rst: -------------------------------------------------------------------------------- 1 | ``tv.samsung.ws`` 2 | =================================== 3 | 4 | .. automodule:: platypush.plugins.tv.samsung.ws 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/twilio.rst: -------------------------------------------------------------------------------- 1 | ``twilio`` 2 | ============================ 3 | 4 | .. automodule:: platypush.plugins.twilio 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/udp.rst: -------------------------------------------------------------------------------- 1 | ``udp`` 2 | ========================= 3 | 4 | .. automodule:: platypush.plugins.udp 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/user.rst: -------------------------------------------------------------------------------- 1 | ``user`` 2 | ========================== 3 | 4 | .. automodule:: platypush.plugins.user 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/utils.rst: -------------------------------------------------------------------------------- 1 | ``utils`` 2 | =========================== 3 | 4 | .. automodule:: platypush.plugins.utils 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/variable.rst: -------------------------------------------------------------------------------- 1 | ``variable`` 2 | ============================== 3 | 4 | .. automodule:: platypush.plugins.variable 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/wallabag.rst: -------------------------------------------------------------------------------- 1 | ``wallabag`` 2 | ============ 3 | 4 | .. automodule:: platypush.plugins.wallabag 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/weather.buienradar.rst: -------------------------------------------------------------------------------- 1 | ``weather.buienradar`` 2 | ======================================== 3 | 4 | .. automodule:: platypush.plugins.weather.buienradar 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/weather.openweathermap.rst: -------------------------------------------------------------------------------- 1 | ``weather.openweathermap`` 2 | ============================================ 3 | 4 | .. automodule:: platypush.plugins.weather.openweathermap 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/websocket.rst: -------------------------------------------------------------------------------- 1 | ``websocket`` 2 | =============================== 3 | 4 | .. automodule:: platypush.plugins.websocket 5 | :members: 6 | 7 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/xmpp.rst: -------------------------------------------------------------------------------- 1 | ``xmpp`` 2 | ======== 3 | 4 | .. automodule:: platypush.plugins.xmpp 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/youtube.rst: -------------------------------------------------------------------------------- 1 | ``youtube`` 2 | =========== 3 | 4 | .. automodule:: platypush.plugins.youtube 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/zeroconf.rst: -------------------------------------------------------------------------------- 1 | ``zeroconf`` 2 | ============================== 3 | 4 | .. automodule:: platypush.plugins.zeroconf 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/zigbee.mqtt.rst: -------------------------------------------------------------------------------- 1 | ``zigbee.mqtt`` 2 | ================================= 3 | 4 | .. automodule:: platypush.plugins.zigbee.mqtt 5 | :members: 6 | -------------------------------------------------------------------------------- /docs/source/platypush/plugins/zwave.mqtt.rst: -------------------------------------------------------------------------------- 1 | ``zwave.mqtt`` 2 | ================================ 3 | 4 | .. automodule:: platypush.plugins.zwave.mqtt 5 | :members: 6 | -------------------------------------------------------------------------------- /examples/config/config.yaml: -------------------------------------------------------------------------------- 1 | ../../platypush/config/config.yaml -------------------------------------------------------------------------------- /examples/systemd/platypush.service: -------------------------------------------------------------------------------- 1 | ../../platypush/config/systemd/platypush.service -------------------------------------------------------------------------------- /platypush/__main__.py: -------------------------------------------------------------------------------- 1 | from platypush.runner import main 2 | 3 | main() 4 | -------------------------------------------------------------------------------- /platypush/app/__init__.py: -------------------------------------------------------------------------------- 1 | from ._app import Application, app, main 2 | 3 | 4 | __all__ = ["Application", "app", "main"] 5 | -------------------------------------------------------------------------------- /platypush/app/__main__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | from ._app import main 4 | 5 | sys.exit(main(*sys.argv[1:])) 6 | -------------------------------------------------------------------------------- /platypush/backend/http/app/routes/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/app/routes/__init__.py -------------------------------------------------------------------------------- /platypush/backend/http/app/routes/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/app/routes/plugins/__init__.py -------------------------------------------------------------------------------- /platypush/backend/http/app/routes/plugins/camera/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/app/routes/plugins/camera/__init__.py -------------------------------------------------------------------------------- /platypush/backend/http/app/routes/plugins/tts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/app/routes/plugins/tts/__init__.py -------------------------------------------------------------------------------- /platypush/backend/http/app/streaming/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import StreamingRoute 2 | 3 | __all__ = ['StreamingRoute'] 4 | -------------------------------------------------------------------------------- /platypush/backend/http/app/streaming/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/app/streaming/plugins/__init__.py -------------------------------------------------------------------------------- /platypush/backend/http/app/streaming/plugins/media/__init__.py: -------------------------------------------------------------------------------- 1 | from ._stream import MediaStreamRoute 2 | from ._subtitles import MediaSubtitlesRoute 3 | 4 | 5 | __all__ = ["MediaStreamRoute", "MediaSubtitlesRoute"] 6 | -------------------------------------------------------------------------------- /platypush/backend/http/app/ws/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import WSRoute, logger 2 | 3 | __all__ = ['WSRoute', 'logger'] 4 | -------------------------------------------------------------------------------- /platypush/backend/http/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.backend.http", 8 | "type": "backend" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/backend/http/media/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/media/__init__.py -------------------------------------------------------------------------------- /platypush/backend/http/webapp/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/favicon.ico -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/fonts/Poppins.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/fonts/Poppins.ttf -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/fonts/poppins.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Poppins'; 3 | font-style: normal; 4 | font-weight: 400; 5 | font-display: swap; 6 | src: url(./Poppins.ttf) format('truetype'); 7 | } 8 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/01d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/01d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/01n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/01n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/02d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/02d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/02n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/02n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/03d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/03d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/03n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/03n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/04d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/04d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/04n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/04n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/09d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/09d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/09n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/09n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/10d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/10n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/10n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/11d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/11n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/11n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/13d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/13n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/13n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/50d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/50d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/50n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/50n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/black/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/black/unknown.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/01d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/01d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/01n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/01n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/02d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/02d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/02n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/02n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/03d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/03d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/03n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/03n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/04d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/04d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/04n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/04n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/09d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/09d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/09n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/09n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/10d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/10n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/10n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/11d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/11n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/11n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/13d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/13n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/13n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/50d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/50d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/50n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/50n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/dark/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/dark/unknown.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/01d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/01d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/01n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/01n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/02d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/02d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/02n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/02n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/03d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/03d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/03n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/03n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/04d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/04d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/04n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/04n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/09d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/09d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/09n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/09n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/10d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/10n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/10n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/11d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/11n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/11n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/13d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/13n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/13n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/50d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/50d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/50n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/50n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/light/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/light/unknown.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/01d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/01d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/01n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/01n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/02d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/02d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/02n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/02n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/03d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/03d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/03n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/03n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/04d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/04d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/04n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/04n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/09d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/09d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/09n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/09n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/10d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/10n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/10n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/11d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/11n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/11n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/13d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/13n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/13n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/50d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/50d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/50n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/50n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/openweathermap/white/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/openweathermap/white/unknown.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/plex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/smartthings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/smartthings.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/icons/z-wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/icons/z-wave.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/dashboard-bg-light.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/dashboard-bg-light.jpg -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/android-chrome-512x512.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/android-chrome-maskable-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/android-chrome-maskable-192x192.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/android-chrome-maskable-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/android-chrome-maskable-512x512.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/favicon-32x32.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/logo-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/logo-256x256.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/msapplication-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/msapplication-icon-144x144.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/icons/mstile-150x150.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/logo.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/img/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/img/spinner.gif -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/fa-brands-400.86ee2658.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/fa-brands-400.86ee2658.woff2 -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/fa-brands-400.8eaf0c88.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/fa-brands-400.8eaf0c88.ttf -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/fa-regular-400.849b82e2.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/fa-regular-400.849b82e2.woff2 -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/fa-regular-400.bd1cf947.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/fa-regular-400.bd1cf947.ttf -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/fa-solid-900.7a5aa5ab.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/fa-solid-900.7a5aa5ab.ttf -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/fa-solid-900.ee698398.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/fa-solid-900.ee698398.woff2 -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/lato-medium-italic.1996cc15.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/lato-medium-italic.1996cc15.woff -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/lato-medium-italic.1e312dd9.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/lato-medium-italic.1e312dd9.woff2 -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/lato-medium.13fcde4c.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/lato-medium.13fcde4c.woff2 -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/fonts/lato-medium.b41c3821.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/fonts/lato-medium.b41c3821.woff -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/am.00f0fec4.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/am.a566904f.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/bd.c1abcb00.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/bd.c4a5f0e2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/bq.747d8177.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/bq.b9355bec.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/dashboard-bg-light.06da6eab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/dist/static/img/dashboard-bg-light.06da6eab.jpg -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/de.8e159e6e.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/de.b827ac51.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/dk.3ca1caed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/dk.a867eeef.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/fi.0cd85b78.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/fi.3be6b378.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/gb-eng.0fac6e79.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/gb-sct.f5001e5d.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/gb-sct.fee55173.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/gl.551d0783.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/gl.6a5c17b0.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/lu.93878a1b.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/lu.e3bdc6d3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/lv.679c099e.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/pl.03886843.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/pl.a1350f0c.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/img/plex.7a4e22a6.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/js/2375.1d0ea3b4.js: -------------------------------------------------------------------------------- 1 | "use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2375],{2375:function(p,s,u){u.r(s)}}]); -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/js/8223.18cd689d.js: -------------------------------------------------------------------------------- 1 | "use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8223],{8223:function(p,s,u){u.r(s)}}]); -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/js/9631.0ae85240.js: -------------------------------------------------------------------------------- 1 | "use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[9631],{9631:function(p,s,u){u.r(s)}}]); -------------------------------------------------------------------------------- /platypush/backend/http/webapp/dist/static/js/9992.1727ffdd.js: -------------------------------------------------------------------------------- 1 | "use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[9992],{9992:function(p,s,u){u.r(s)}}]); -------------------------------------------------------------------------------- /platypush/backend/http/webapp/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "./src/**/*" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/favicon.ico -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/fonts/Poppins.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/fonts/Poppins.ttf -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/fonts/poppins.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Poppins'; 3 | font-style: normal; 4 | font-weight: 400; 5 | font-display: swap; 6 | src: url(./Poppins.ttf) format('truetype'); 7 | } 8 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/black: -------------------------------------------------------------------------------- 1 | dark -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/01d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/01d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/01n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/01n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/02d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/02d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/02n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/02n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/03d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/03d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/03n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/03n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/04d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/04d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/04n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/04n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/09d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/09d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/09n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/09n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/10d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/10n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/10n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/11d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/11n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/11n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/13d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/13n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/13n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/50d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/50d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/50n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/50n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/dark/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/dark/unknown.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/01d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/01d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/01n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/01n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/02d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/02d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/02n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/02n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/03d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/03d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/03n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/03n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/04d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/04d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/04n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/04n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/09d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/09d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/09n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/09n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/10d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/10n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/10n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/11d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/11n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/11n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/13d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/13n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/13n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/50d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/50d.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/50n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/50n.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/light/unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/openweathermap/light/unknown.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/openweathermap/white: -------------------------------------------------------------------------------- 1 | light -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/plex.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/smartthings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/smartthings.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/icons/z-wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/icons/z-wave.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/dashboard-bg-light.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/dashboard-bg-light.jpg -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/android-chrome-512x512.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/android-chrome-maskable-192x192.png: -------------------------------------------------------------------------------- 1 | android-chrome-192x192.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/android-chrome-maskable-512x512.png: -------------------------------------------------------------------------------- 1 | android-chrome-512x512.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- 1 | apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/favicon-32x32.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/logo-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/logo-256x256.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/msapplication-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/msapplication-icon-144x144.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/icons/mstile-150x150.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/icons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | favicon-16x16.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/logo.png -------------------------------------------------------------------------------- /platypush/backend/http/webapp/public/img/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/backend/http/webapp/public/img/spinner.gif -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/assets/icons: -------------------------------------------------------------------------------- 1 | ../../public/icons -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/assets/img: -------------------------------------------------------------------------------- 1 | ../../public/img -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Application/vars.scss: -------------------------------------------------------------------------------- 1 | $header-height: 3.25em; 2 | $header-margin: 0.25em; 3 | $footer-height: 2em; 4 | $btn-container-width: 5em; 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/Accelerometer.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/Button.vue: -------------------------------------------------------------------------------- 1 | EnumSensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/CloudInstance.vue: -------------------------------------------------------------------------------- 1 | Device.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/CompositeSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/ContactSensor.vue: -------------------------------------------------------------------------------- 1 | BinarySensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/CpuStats.vue: -------------------------------------------------------------------------------- 1 | Device.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/CurrentSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/DewPointSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/DistanceSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/EnergySensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/HeartRateSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/HumiditySensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/IlluminanceSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/Magnetometer.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/MotionSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/Muted.vue: -------------------------------------------------------------------------------- 1 | Switch.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/NumericSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/PowerSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/PresenceSensor.vue: -------------------------------------------------------------------------------- 1 | BinarySensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/PressureSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/RawSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/StepsSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/SwapStats.vue: -------------------------------------------------------------------------------- 1 | MemoryStats.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/SystemBattery.vue: -------------------------------------------------------------------------------- 1 | Battery.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/SystemFan.vue: -------------------------------------------------------------------------------- 1 | NumericSensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/SystemTemperature.vue: -------------------------------------------------------------------------------- 1 | TemperatureSensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/TemperatureSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/ThreeAxisSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/TimeDuration.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/VoltageSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/Volume.vue: -------------------------------------------------------------------------------- 1 | Dimmer.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/WeightSensor.vue: -------------------------------------------------------------------------------- 1 | Sensor.vue -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Entities/vars.scss: -------------------------------------------------------------------------------- 1 | $main-margin: 1em; 2 | $selector-height: 2.5em; 3 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Extensions/common.scss: -------------------------------------------------------------------------------- 1 | pre { 2 | width: 100%; 3 | margin: 0; 4 | background: $code-dark-bg; 5 | color: $code-dark-fg; 6 | font-size: 0.9em; 7 | padding: 0.5em; 8 | overflow: auto; 9 | } 10 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/File/vars.scss: -------------------------------------------------------------------------------- 1 | $header-height: 3.3em; 2 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Media/icons.json: -------------------------------------------------------------------------------- 1 | { 2 | "file": "fa fa-hdd", 3 | "torrent": "fa fa-magnet", 4 | "youtube": "fab fa-youtube", 5 | "plex": "fa fa-plex", 6 | "jellyfin": "fa fa-jellyfin" 7 | } 8 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Music/vars.scss: -------------------------------------------------------------------------------- 1 | $music-header-height: 3.3em; 2 | $music-nav-width: 2.8em; 3 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Torrent/vars.scss: -------------------------------------------------------------------------------- 1 | $torrent-header-height: 3.3em; 2 | $torrent-nav-width: 2.8em; 3 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Tts/Index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 13 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/Zwave/Index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 12 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/components/panels/ZwaveMqtt/Index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 12 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from '@/App.vue' 3 | import router from '@/router' 4 | import './registerServiceWorker' 5 | 6 | const app = createApp(App) 7 | app.config.globalProperties._config = window.config 8 | app.use(router).mount('#app') 9 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/common.scss: -------------------------------------------------------------------------------- 1 | @import "themes/light.scss"; 2 | 3 | @import "mixins.scss"; 4 | @import "layout.scss"; 5 | @import "components.scss"; 6 | @import "inputs.scss"; 7 | @import "animations.scss"; 8 | @import "icons.scss"; 9 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/am.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/bd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/bq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/gb-eng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/gb-sct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/gl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/lu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/lv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/mc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/1x1/ua.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/am.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/bd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/bq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/gb-sct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/gl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/id.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/lu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/lv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/mc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/nl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/style/flags/4x3/ua.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/ui.js: -------------------------------------------------------------------------------- 1 | export default { 2 | getMousePos() { 3 | return [ 4 | window.event.clientX, 5 | window.event.clientY, 6 | ] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /platypush/backend/http/webapp/src/views/NotFound.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /platypush/backend/nodered/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "pynodered" 7 | ] 8 | }, 9 | "package": "platypush.backend.nodered", 10 | "type": "backend" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/backend/redis/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.backend.redis", 8 | "type": "backend" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/backend/tcp/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.backend.tcp", 8 | "type": "backend" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/builder/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import BaseBuilder 2 | 3 | __all__ = ["BaseBuilder"] 4 | -------------------------------------------------------------------------------- /platypush/commands/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import Command 2 | from ._commands import RestartCommand, StopCommand 3 | from ._stream import CommandStream 4 | 5 | __all__ = ["Command", "CommandStream", "RestartCommand", "StopCommand"] 6 | -------------------------------------------------------------------------------- /platypush/commands/_commands/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | from ._app_ctrl import * 3 | -------------------------------------------------------------------------------- /platypush/common/cmd_stream.py: -------------------------------------------------------------------------------- 1 | from platypush.config import Config 2 | 3 | 4 | redis_topic = f'_platypush/{Config.get("device_id")}/shell/cmd' 5 | -------------------------------------------------------------------------------- /platypush/common/reflection/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Integration, Message 2 | 3 | 4 | __all__ = [ 5 | "Integration", 6 | "Message", 7 | ] 8 | -------------------------------------------------------------------------------- /platypush/common/reflection/_model/action.py: -------------------------------------------------------------------------------- 1 | from .._parser import DocstringParser 2 | 3 | 4 | class Action(DocstringParser): 5 | """ 6 | Represents an integration action. 7 | """ 8 | -------------------------------------------------------------------------------- /platypush/common/reflection/_model/constants.py: -------------------------------------------------------------------------------- 1 | doc_base_url = 'https://docs.platypush.tech/platypush' 2 | -------------------------------------------------------------------------------- /platypush/common/reflection/_parser/__init__.py: -------------------------------------------------------------------------------- 1 | from .docstring import DocstringParser 2 | 3 | 4 | __all__ = [ 5 | "DocstringParser", 6 | ] 7 | -------------------------------------------------------------------------------- /platypush/common/reflection/_parser/state.py: -------------------------------------------------------------------------------- 1 | from enum import IntEnum 2 | 3 | 4 | class ParseState(IntEnum): 5 | """ 6 | Parse state. 7 | """ 8 | 9 | DOC = 0 10 | PARAM = 1 11 | TYPE = 2 12 | RETURN = 3 13 | -------------------------------------------------------------------------------- /platypush/components.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/components.json.gz -------------------------------------------------------------------------------- /platypush/config/systemd/platypush-sysusers.conf: -------------------------------------------------------------------------------- 1 | u platypush - "A general-purpose platform for automation-as-code" /var/lib/platypush 2 | -------------------------------------------------------------------------------- /platypush/config/systemd/platypush-tmpfile.conf: -------------------------------------------------------------------------------- 1 | d /var/lib/platypush 0750 platypush platypush - 2 | d /etc/platypush 2750 platypush platypush - 3 | -------------------------------------------------------------------------------- /platypush/entities/bluetooth/__init__.py: -------------------------------------------------------------------------------- 1 | from ._device import BluetoothDevice 2 | from ._service import BluetoothService 3 | 4 | __all__ = [ 5 | "BluetoothDevice", 6 | "BluetoothService", 7 | ] 8 | -------------------------------------------------------------------------------- /platypush/entities/managers/sensors.py: -------------------------------------------------------------------------------- 1 | from abc import ABC 2 | 3 | from . import EntityManager 4 | 5 | 6 | class SensorEntityManager(EntityManager, ABC): 7 | """ 8 | Base class for integrations that support sensor entities. 9 | """ 10 | -------------------------------------------------------------------------------- /platypush/events: -------------------------------------------------------------------------------- 1 | message/event -------------------------------------------------------------------------------- /platypush/install/requirements/ubuntu.txt: -------------------------------------------------------------------------------- 1 | debian.txt -------------------------------------------------------------------------------- /platypush/install/scripts/alpine/PKGCMD: -------------------------------------------------------------------------------- 1 | apk add --update --no-interactive --no-cache 2 | -------------------------------------------------------------------------------- /platypush/install/scripts/alpine/install.sh: -------------------------------------------------------------------------------- 1 | ../install.sh -------------------------------------------------------------------------------- /platypush/install/scripts/arch/PKGCMD: -------------------------------------------------------------------------------- 1 | pacman -S --noconfirm --needed 2 | -------------------------------------------------------------------------------- /platypush/install/scripts/arch/install.sh: -------------------------------------------------------------------------------- 1 | ../install.sh -------------------------------------------------------------------------------- /platypush/install/scripts/debian/PKGCMD: -------------------------------------------------------------------------------- 1 | apt install -y 2 | -------------------------------------------------------------------------------- /platypush/install/scripts/debian/install.sh: -------------------------------------------------------------------------------- 1 | ../install.sh -------------------------------------------------------------------------------- /platypush/install/scripts/fedora/PKGCMD: -------------------------------------------------------------------------------- 1 | dnf install -y 2 | -------------------------------------------------------------------------------- /platypush/install/scripts/ubuntu: -------------------------------------------------------------------------------- 1 | debian -------------------------------------------------------------------------------- /platypush/message/event/chat/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/message/event/chat/__init__.py -------------------------------------------------------------------------------- /platypush/message/event/clipboard.py: -------------------------------------------------------------------------------- 1 | from platypush.message.event import Event 2 | 3 | 4 | class ClipboardEvent(Event): 5 | def __init__(self, text: str, *args, **kwargs): 6 | super().__init__(*args, text=text, **kwargs) 7 | 8 | 9 | # vim:sw=4:ts=4:et: 10 | -------------------------------------------------------------------------------- /platypush/message/event/log/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/message/event/log/__init__.py -------------------------------------------------------------------------------- /platypush/message/event/zigbee/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/message/event/zigbee/__init__.py -------------------------------------------------------------------------------- /platypush/platydock/__main__.py: -------------------------------------------------------------------------------- 1 | from platypush.platydock import main 2 | 3 | main() 4 | 5 | # vim:sw=4:ts=4:et: 6 | -------------------------------------------------------------------------------- /platypush/platyvenv/__main__.py: -------------------------------------------------------------------------------- 1 | from platypush.platyvenv import main 2 | 3 | main() 4 | 5 | # vim:sw=4:ts=4:et: 6 | -------------------------------------------------------------------------------- /platypush/plugins/adafruit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/adafruit/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/application/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.application", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/assistant/picovoice/_intent.py: -------------------------------------------------------------------------------- 1 | from dataclasses import dataclass, field 2 | 3 | 4 | @dataclass 5 | class Intent: 6 | """ 7 | Speech intent data class. 8 | """ 9 | 10 | name: str 11 | slots: dict = field(default_factory=dict) 12 | -------------------------------------------------------------------------------- /platypush/plugins/assistant/picovoice/_speech/__init__.py: -------------------------------------------------------------------------------- 1 | from ._processor import SpeechProcessor 2 | 3 | __all__ = ['SpeechProcessor'] 4 | -------------------------------------------------------------------------------- /platypush/plugins/autoremote/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.autoremote", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_ble/__init__.py: -------------------------------------------------------------------------------- 1 | from ._manager import BLEManager 2 | 3 | __all__ = ["BLEManager"] 4 | 5 | # vim:sw=4:ts=4:et: 6 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_ble/_plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/bluetooth/_ble/_plugins/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_file/__init__.py: -------------------------------------------------------------------------------- 1 | from .sender import FileSender 2 | 3 | 4 | __all__ = ["FileSender"] 5 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_legacy/__init__.py: -------------------------------------------------------------------------------- 1 | from ._manager import LegacyManager 2 | 3 | __all__ = ["LegacyManager"] 4 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_legacy/_manager/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import LegacyManager 2 | 3 | __all__ = ["LegacyManager"] 4 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_legacy/_manager/_types.py: -------------------------------------------------------------------------------- 1 | from typing import Tuple 2 | 3 | 4 | ConnectionId = Tuple[str, int] 5 | """ (address, port) pair. """ 6 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_legacy/_model/__init__.py: -------------------------------------------------------------------------------- 1 | from ._device import BluetoothDeviceBuilder 2 | from ._services import BluetoothServicesBuilder 3 | 4 | 5 | __all__ = [ 6 | "BluetoothDeviceBuilder", 7 | "BluetoothServicesBuilder", 8 | ] 9 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_model/_classes/__init__.py: -------------------------------------------------------------------------------- 1 | from ._device import MajorDeviceClass, MinorDeviceClass 2 | from ._service import MajorServiceClass 3 | 4 | 5 | __all__ = [ 6 | "MajorDeviceClass", 7 | "MinorDeviceClass", 8 | "MajorServiceClass", 9 | ] 10 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_model/_classes/_device/__init__.py: -------------------------------------------------------------------------------- 1 | from ._major import MajorDeviceClass 2 | from ._minor import MinorDeviceClass 3 | 4 | 5 | __all__ = [ 6 | "MajorDeviceClass", 7 | "MinorDeviceClass", 8 | ] 9 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_model/_service/__init__.py: -------------------------------------------------------------------------------- 1 | from ._directory import ServiceClass 2 | 3 | 4 | __all__ = [ 5 | "ServiceClass", 6 | ] 7 | -------------------------------------------------------------------------------- /platypush/plugins/bluetooth/_plugins/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import BaseBluetoothPlugin 2 | from ._scanner import scan_plugins 3 | 4 | __all__ = ['BaseBluetoothPlugin', 'scan_plugins'] 5 | -------------------------------------------------------------------------------- /platypush/plugins/calendar/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.calendar", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/camera/android/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/camera/android/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/camera/android/ipcam/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.camera.android.ipcam", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/camera/gstreamer/model.py: -------------------------------------------------------------------------------- 1 | from platypush.common.gstreamer import Pipeline 2 | from platypush.plugins.camera import CameraInfo, Camera 3 | 4 | 5 | class GStreamerCamera(Camera): 6 | info: CameraInfo 7 | object: Pipeline 8 | 9 | 10 | # vim:sw=4:ts=4:et: 11 | -------------------------------------------------------------------------------- /platypush/plugins/camera/ir/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/camera/ir/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/camera/model/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/camera/model/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/chat/__init__.py: -------------------------------------------------------------------------------- 1 | from platypush.plugins import Plugin, action 2 | 3 | 4 | class ChatPlugin(Plugin): 5 | """ 6 | Base class for chat plugins. 7 | """ 8 | 9 | @action 10 | def send_message(self, *_, **__): 11 | raise NotImplementedError() 12 | -------------------------------------------------------------------------------- /platypush/plugins/config/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.config", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/csv/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.csv", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/db/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.db", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/entities/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "package": "platypush.plugins.entities", 5 | "type": "plugin" 6 | } 7 | } -------------------------------------------------------------------------------- /platypush/plugins/esp/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.esp", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/esp/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/esp/models/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/file/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.file", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/file/monitor/entities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/file/monitor/entities/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/flic/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": [ 4 | "platypush.message.event.flic.FlicButtonEvent" 5 | ], 6 | "install": { 7 | "pip": [] 8 | }, 9 | "package": "platypush.plugins.flic", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/foursquare/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": [ 4 | "platypush.message.event.foursquare.FoursquareCheckinEvent" 5 | ], 6 | "install": { 7 | "pip": [] 8 | }, 9 | "package": "platypush.plugins.foursquare", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/gotify/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": { 4 | "platypush.message.event.gotify.GotifyMessageEvent": "when a new message is received." 5 | }, 6 | "package": "platypush.plugins.gotify", 7 | "type": "plugin" 8 | } 9 | } -------------------------------------------------------------------------------- /platypush/plugins/graphite/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.graphite", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/http/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.http", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/ifttt/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.ifttt", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/inspect/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.inspect", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/lcd/gpio/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "RPLCD", 7 | "RPi.GPIO" 8 | ] 9 | }, 10 | "package": "platypush.plugins.lcd.gpio", 11 | "type": "plugin" 12 | } 13 | } -------------------------------------------------------------------------------- /platypush/plugins/lcd/i2c/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "RPLCD", 7 | "RPi.GPIO" 8 | ] 9 | }, 10 | "package": "platypush.plugins.lcd.i2c", 11 | "type": "plugin" 12 | } 13 | } -------------------------------------------------------------------------------- /platypush/plugins/light/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/light/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/log/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/log/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/logger/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.logger", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/luma/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/luma/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/luma/oled/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "luma.oled" 7 | ] 8 | }, 9 | "package": "platypush.plugins.luma.oled", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/mail/_model/_config/__init__.py: -------------------------------------------------------------------------------- 1 | from ._account import AccountConfig 2 | from ._server import ServerConfig 3 | 4 | 5 | __all__ = [ 6 | 'AccountConfig', 7 | 'ServerConfig', 8 | ] 9 | -------------------------------------------------------------------------------- /platypush/plugins/mailgun/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "package": "platypush.plugins.mailgun", 4 | "type": "plugin" 5 | } 6 | } -------------------------------------------------------------------------------- /platypush/plugins/mastodon/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "package": "platypush.plugins.mastodon", 5 | "type": "plugin" 6 | } 7 | } -------------------------------------------------------------------------------- /platypush/plugins/media/jellyfin/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "package": "platypush.plugins.media.jellyfin", 5 | "type": "plugin" 6 | } 7 | } -------------------------------------------------------------------------------- /platypush/plugins/media/lib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/media/lib/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/media/plex/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "plexapi" 7 | ] 8 | }, 9 | "package": "platypush.plugins.media.plex", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/media/webtorrent/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.media.webtorrent", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/ml/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/ml/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/mobile/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/mobile/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/mobile/join/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.mobile.join", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/music/mopidy/_common.py: -------------------------------------------------------------------------------- 1 | from typing import Final 2 | 3 | 4 | DEFAULT_TIMEOUT: Final[float] = 20 5 | -------------------------------------------------------------------------------- /platypush/plugins/music/mopidy/_exc.py: -------------------------------------------------------------------------------- 1 | class MopidyException(Exception): 2 | """ 3 | Base class for all Mopidy exceptions. 4 | """ 5 | 6 | 7 | class EmptyTrackException(MopidyException, ValueError): 8 | """ 9 | Raised when a parsed track is empty. 10 | """ 11 | -------------------------------------------------------------------------------- /platypush/plugins/music/mpd/_conf.py: -------------------------------------------------------------------------------- 1 | from dataclasses import dataclass 2 | 3 | 4 | @dataclass 5 | class MpdConfig: 6 | """ 7 | MPD configuration 8 | """ 9 | 10 | host: str = 'localhost' 11 | port: int = 6600 12 | password: str = '' 13 | -------------------------------------------------------------------------------- /platypush/plugins/music/snapcast/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.music.snapcast", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/music/spotify/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.music.spotify", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/nmap/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.nmap", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/ntfy/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": { 4 | "platypush.message.event.ntfy.NotificationEvent": "when a notification is received." 5 | }, 6 | "package": "platypush.plugins.ntfy", 7 | "type": "plugin" 8 | } 9 | } -------------------------------------------------------------------------------- /platypush/plugins/openai/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "package": "platypush.plugins.openai", 4 | "type": "plugin" 5 | } 6 | } -------------------------------------------------------------------------------- /platypush/plugins/otp/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": {}, 5 | "package": "platypush.plugins.otp", 6 | "type": "plugin" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /platypush/plugins/pihole/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.pihole", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/procedures/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "package": "platypush.plugins.procedures", 4 | "type": "plugin", 5 | "events": [] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /platypush/plugins/pwm/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/pwm/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/pwm/pca9685/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "adafruit-circuitpython-pca9685" 7 | ] 8 | }, 9 | "package": "platypush.plugins.pwm.pca9685", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/qrcode/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": [ 4 | "platypush.message.event.qrcode.QrcodeScannedEvent" 5 | ], 6 | "install": {}, 7 | "package": "platypush.plugins.qrcode", 8 | "type": "plugin" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /platypush/plugins/redis/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.redis", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/sensor/distance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/sensor/distance/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/sensor/lis3dh/lib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/sensor/lis3dh/lib/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/shell/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.shell", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/smartthings/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "pysmartthings" 7 | ] 8 | }, 9 | "package": "platypush.plugins.smartthings", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/sound/_manager/__init__.py: -------------------------------------------------------------------------------- 1 | from ._main import AudioManager 2 | 3 | __all__ = ["AudioManager"] 4 | -------------------------------------------------------------------------------- /platypush/plugins/sound/_streams/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import AudioThread 2 | from ._player import AudioPlayer 3 | from ._recorder import AudioRecorder 4 | 5 | 6 | __all__ = ['AudioPlayer', 'AudioRecorder', 'AudioThread'] 7 | -------------------------------------------------------------------------------- /platypush/plugins/sound/_streams/_player/__init__.py: -------------------------------------------------------------------------------- 1 | from ._base import AudioPlayer 2 | 3 | __all__ = ['AudioPlayer'] 4 | -------------------------------------------------------------------------------- /platypush/plugins/sound/_streams/_player/_synth/__init__.py: -------------------------------------------------------------------------------- 1 | from ._player import AudioSynthPlayer 2 | from ._sound import Sound 3 | 4 | __all__ = ['AudioSynthPlayer', 'Sound'] 5 | -------------------------------------------------------------------------------- /platypush/plugins/sound/_utils/__init__.py: -------------------------------------------------------------------------------- 1 | from ._convert import convert_nd_array 2 | 3 | __all__ = ["convert_nd_array"] 4 | -------------------------------------------------------------------------------- /platypush/plugins/ssh/tunnel/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/ssh/tunnel/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/switch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/switch/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/switch/tplink/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "pyHS100" 7 | ] 8 | }, 9 | "package": "platypush.plugins.switch.tplink", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/switch/wemo/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.switch.wemo", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/switchbot/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.switchbot", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/tcp/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.tcp", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/todoist/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "todoist-python" 7 | ] 8 | }, 9 | "package": "platypush.plugins.todoist", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/torrent/_search/_torrents_csv/__init__.py: -------------------------------------------------------------------------------- 1 | from ._facade import TorrentsCsvSearchProvider 2 | 3 | __all__ = ['TorrentsCsvSearchProvider'] 4 | 5 | # vim:sw=4:ts=4:et: 6 | -------------------------------------------------------------------------------- /platypush/plugins/tv/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/tv/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/tv/samsung/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/tv/samsung/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/tv/samsung/ws/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [ 6 | "samsungtvws" 7 | ] 8 | }, 9 | "package": "platypush.plugins.tv.samsung.ws", 10 | "type": "plugin" 11 | } 12 | } -------------------------------------------------------------------------------- /platypush/plugins/udp/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.udp", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/user/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.user", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/utils/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.utils", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/variable/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "events": {}, 4 | "install": { 5 | "pip": [] 6 | }, 7 | "package": "platypush.plugins.variable", 8 | "type": "plugin" 9 | } 10 | } -------------------------------------------------------------------------------- /platypush/plugins/wallabag/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest": { 3 | "package": "platypush.plugins.wallabag", 4 | "type": "plugin" 5 | } 6 | } -------------------------------------------------------------------------------- /platypush/plugins/xmpp/_state/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import SerializedState, XmppState 2 | from ._serializer import StateSerializer 3 | 4 | 5 | __all__ = ["SerializedState", "StateSerializer", "XmppState"] 6 | -------------------------------------------------------------------------------- /platypush/plugins/xmpp/_types/__init__.py: -------------------------------------------------------------------------------- 1 | from ._errors import Errors 2 | from ._invite import Invite, RoomInvite, UserInvite 3 | from ._presence import XmppPresence 4 | 5 | 6 | __all__ = [ 7 | "Errors", 8 | "Invite", 9 | "RoomInvite", 10 | "UserInvite", 11 | "XmppPresence", 12 | ] 13 | -------------------------------------------------------------------------------- /platypush/plugins/zigbee/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/zigbee/__init__.py -------------------------------------------------------------------------------- /platypush/plugins/zwave/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/plugins/zwave/__init__.py -------------------------------------------------------------------------------- /platypush/runner/__main__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | from . import main 4 | 5 | main(sys.argv[1:]) 6 | -------------------------------------------------------------------------------- /platypush/schemas/camera/android/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/schemas/camera/android/__init__.py -------------------------------------------------------------------------------- /platypush/schemas/linode/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import LinodeInstance, LinodeInstanceStatus 2 | from ._schemas import LinodeInstanceSchema 3 | 4 | 5 | __all__ = [ 6 | 'LinodeInstance', 7 | 'LinodeInstanceSchema', 8 | 'LinodeInstanceStatus', 9 | ] 10 | -------------------------------------------------------------------------------- /platypush/schemas/system/_battery/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Battery 2 | from ._schemas import BatterySchema 3 | 4 | __all__ = ['Battery', 'BatterySchema'] 5 | -------------------------------------------------------------------------------- /platypush/schemas/system/_connection/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Connection 2 | from ._schemas import ConnectionSchema 3 | 4 | __all__ = ['Connection', 'ConnectionSchema'] 5 | -------------------------------------------------------------------------------- /platypush/schemas/system/_disk/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Disk 2 | from ._schemas import DiskSchema 3 | 4 | 5 | __all__ = ["Disk", "DiskSchema"] 6 | -------------------------------------------------------------------------------- /platypush/schemas/system/_fan/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Fan 2 | from ._schemas import FanSchema 3 | 4 | __all__ = ["Fan", "FanSchema"] 5 | -------------------------------------------------------------------------------- /platypush/schemas/system/_memory/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import MemoryStats, SwapStats 2 | from ._schemas import MemoryStatsSchema, SwapStatsSchema 3 | 4 | 5 | __all__ = ["MemoryStats", "MemoryStatsSchema", "SwapStats", "SwapStatsSchema"] 6 | -------------------------------------------------------------------------------- /platypush/schemas/system/_network/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import NetworkInterface 2 | from ._schemas import NetworkInterfaceSchema 3 | 4 | 5 | __all__ = [ 6 | "NetworkInterface", 7 | "NetworkInterfaceSchema", 8 | ] 9 | -------------------------------------------------------------------------------- /platypush/schemas/system/_process/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Process 2 | from ._schemas import ProcessSchema 3 | 4 | __all__ = ['Process', 'ProcessSchema'] 5 | -------------------------------------------------------------------------------- /platypush/schemas/system/_temperature/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import Temperature 2 | from ._schemas import TemperatureSchema 3 | 4 | __all__ = ["Temperature", "TemperatureSchema"] 5 | -------------------------------------------------------------------------------- /platypush/schemas/system/_user/__init__.py: -------------------------------------------------------------------------------- 1 | from ._model import User 2 | from ._schemas import UserSchema 3 | 4 | __all__ = ['User', 'UserSchema'] 5 | -------------------------------------------------------------------------------- /platypush/schemas/tts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/schemas/tts/__init__.py -------------------------------------------------------------------------------- /platypush/schemas/weather/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blacklight/platypush/2f4a6330cf14c1e252517ab4da370fa6b5a27b19/platypush/schemas/weather/__init__.py -------------------------------------------------------------------------------- /requirements-tests.txt: -------------------------------------------------------------------------------- 1 | pytest 2 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 120 3 | exclude = 4 | fliclib.py 5 | extend-ignore = 6 | E203 7 | W503 8 | SIM104 9 | SIM105 10 | SIM115 11 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | import sys 4 | 5 | logging.basicConfig(level=logging.INFO, stream=sys.stdout) 6 | test_dir = os.path.abspath(os.path.dirname(__file__)) 7 | sys.path.insert(0, os.path.abspath(os.path.join(test_dir, '..'))) 8 | -------------------------------------------------------------------------------- /tests/__main__.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | if __name__ == '__main__': 4 | # Run all the tests 5 | pytest.main() 6 | -------------------------------------------------------------------------------- /tests/etc/config_test.yaml: -------------------------------------------------------------------------------- 1 | include: 2 | - include/test_procedure.yaml 3 | 4 | main.db: 5 | engine: sqlite:////tmp/platypush-tests.db 6 | 7 | backend.http: 8 | port: 8123 9 | num_workers: 1 10 | use_werkzeug_server: True 11 | 12 | redis: 13 | port: 16379 14 | -------------------------------------------------------------------------------- /tests/etc/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | # Auto-generated __init__.py - do not remove 2 | -------------------------------------------------------------------------------- /version.py: -------------------------------------------------------------------------------- 1 | __version__ = "1.3.6" 2 | --------------------------------------------------------------------------------