profile
viewpoint
Jeremy Stucki jeremystucki @swissdevch Switzerland Woop-wo-wo-woop-woop! - Zoidberg

isitvegan/isitvegan-web 10

A simple tool to check whether an item is vegan 🌱

jeremystucki/coop 6

API & Clients for the coop restaurant

isitvegan/isitvegan-ios 2

WIP iOS for isitvegan.app

bash/homebrew-coop 1

The official homebrew formula for STJEREM/coop

jeremystucki/Amateurfunk 1

The unofficial app for ILT

jeremystucki/launchd-agents 1

A collection of my launchd agents

jeremystucki/mvr 1

A replacement for zsh's zmv

startedJetBrains/kotlin

started time in a day

startedTwister915/mcproto-rs

started time in 3 days

startedlibratbag/piper

started time in 4 days

startedmicromdm/micromdm

started time in 8 days

PR opened swissdevch/kafi-kaesseli

Reviewers
Update products.toml hacktoberfest-accepted
+2 -17

0 comment

1 changed file

pr created time in 11 days

create barnchswissdevch/kafi-kaesseli

branch : product-update

created branch time in 11 days

startedrspamd/rspamd

started time in 11 days

delete branch myelin-ai/myelin

delete branch : dependency-update

delete time in 14 days

push eventmyelin-ai/myelin

Jeremy Stucki

commit sha 3c4f8b30cf063b112cfffdae5df2aeffe8a1b392

Update dependencies

view details

Jeremy Stucki

commit sha bf984cc1e5f70bc93e5fe473ca1f674e57a60821

Merge pull request #489 from myelin-ai/dependency-update Update dependencies

view details

push time in 14 days

PR opened myelin-ai/myelin

Reviewers
Update dependencies
+605 -675

0 comment

1 changed file

pr created time in 14 days

create barnchmyelin-ai/myelin

branch : dependency-update

created branch time in 14 days

startedLeonineKing1199/minivec

started time in 14 days

startedAnuken/Mindustry

started time in 17 days

startedEbookFoundation/free-programming-books

started time in 17 days

startedkovidgoyal/kitty

started time in 20 days

startedboltgolt/howdy

started time in 21 days

startedmatomo-org/matomo-sdk-android

started time in 22 days

push eventjeremystucki/openhab-addons

Kai Kreuzer

commit sha edc77ec1a6f465bbb863b989ebbeb57f72bf4f52

do not apply spotless to footer.xml (#8539) * Ignore footer.xml by spotless Signed-off-by: Kai Kreuzer <kai@openhab.org>

view details

Wouter Born

commit sha 99461f26b37933711cd7871050de707fdafb1926

Reenable MapTransformationServiceTest (#8533) Depends on openhab/openhab-core#1661 Signed-off-by: Wouter Born <github@maindrain.net>

view details

Hilbrand Bouwkamp

commit sha be10dea6ea30d8ff56c4003797184dd0be0817d8

[venstarthermostat] Fix venstarthermostat feature.xml (#8542) Also added to bom pom.xml Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>

view details

Kai Kreuzer

commit sha 613c2e1082e60c61dbfdb08def9bf85e876103a8

removed pom.xml.versionsBackup files (#8552) Signed-off-by: Kai Kreuzer <kai@openhab.org>

view details

Jeremy Stucki

commit sha f70eef4c09c28ef1722bfb9cc636b14c84f3f95f

Merge branch 'main' into publictransportswitzerland-oh3

view details

push time in a month

PR opened openhab/openhab-addons

[publictransportswitzerland] Public Transport Switzerland Initial contribution

Continuation of #7524

Public Transport Switzerland Binding

Connects to the "Swiss public transport API" to provide real-time public transport information. Link to the API

For example, here is a station board in HABPanel. (Download here)

Supported Things

Stationboard

Upcoming departures for a single station.

Discovery

This binding does not support auto-discovery.

Thing Configuration

Stationboard

Station is the station name for which to display departures.

Channels

Stationboard

channel type description
departures#n String A dynamic channel for each upcoming departure
tsv (advanced) String A tsv which contains the fields:<br />identifier, departureTime, destination, track, delay
+613 -0

0 comment

16 changed files

pr created time in a month

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 93e4f9da911af0264f2aa62413ad183d0303e982

[publictransportswitzerland] Migrate to OH3 Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in a month

push eventjeremystucki/pixel-perfect

Jeremy Stucki

commit sha ddb45e74cec0254c5a5685893b9f93feb626ad10

Update CNAME

view details

push time in a month

push eventjeremystucki/pixel-perfect

Jeremy Stucki

commit sha eb34b8efdeac01ab4e9bb2b8619548119e4bf627

Create CNAME

view details

push time in a month

push eventjeremystucki/pixel-perfect

jeremystucki

commit sha 19d50f1f9475615898b0da32c2fd8c27aaa4ad3c

Deploy to GitHub pages

view details

push time in a month

push eventjeremystucki/pixel-perfect

Jeremy Stucki

commit sha 7c4b5e3b2bcd6bd43c62ed841910c9e015fc55ac

Create CNAME

view details

push time in a month

delete branch jeremystucki/pixel-perfect

delete branch : dependency-update

delete time in a month

push eventjeremystucki/pixel-perfect

Jeremy Stucki

commit sha 0d9f0ffef61fd64e0fbd0c42e182cb80f940ebc4

Update node dependencies

view details

Jeremy Stucki

commit sha 8fc5d56fe0c08b3157f20c9a06e05521154f2414

Merge pull request #10 from jeremystucki/dependency-update Update node dependencies

view details

push time in a month

create barnchjeremystucki/openhab-addons

branch : publictransportswitzerland-oh3

created branch time in a month

issue commentopenhab/openhab-addons

Migrating existing PRs to "main" branch for openHAB 3

Is there a way to keep the commit history? (it says that the main branch is unrelated to the 2.5.x branch)

kaikreuzer

comment created time in a month

pull request commentopenhab/openhab-addons

[zoneminder] Replacement for ZoneMinder binding

Is there a way to keep the commit history? (it says that the main branch is unrelated to the 2.5.x branch)

mhilbush

comment created time in a month

create barnchjeremystucki/pixel-perfect

branch : dependency-update

created branch time in a month

push eventjeremystucki/pixel-perfect

dependabot[bot]

commit sha 0d113ef044e171c2061b3884d310cf0c201d3ce9

Deploy to GitHub pages

view details

push time in a month

pull request commentjeremystucki/pixel-perfect

Bump http-proxy from 1.18.0 to 1.18.1 in /wasm/public

@dependabot merge

dependabot[bot]

comment created time in a month

startedtbot-rs/tbot

started time in a month

startedmichiwieland/hsr-zusammenfassungen

started time in a month

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha be632c45940db4ee28b77e60665db9d71dddf336

[publictransportswitzerland] Run mvn spotless:apply Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in a month

push eventjeremystucki/openhab-addons

Stefan Roellin

commit sha 981698ae54f4628bb5520e6af57a770367947eec

[hpprinter]: fix NPE in discovery (#8364) Signed-off-by: Stefan Roellin <stefan@roellin-baumann.ch>

view details

alexf2015

commit sha 124d9d9a9d36c1e67abe3ed8d85c92248bec0c20

[Digitalstrom] Bugfixes/Improvements (#8372) * added specific error handling for SSLHandshakeExecptions logging * Scene calls sometimes get lost, thus the scene state is invalid and gets stuck. Therefore scene activation events should always trigger the activation logic, even if the internal state is already "active" * fixed a "loop" in restart process which resulted in a stack overflow exception and could even affect whole openhab instance. * this should fix #8214 which is caused by a multi-threaded access to "pollingSchedulers" Signed-off-by: Alexander Friese <af944580@googlemail.com>

view details

boehan

commit sha 3842672e657a15254cb0886e6421f1edacc67a57

[comfoair] Initial contribution for comfoair v2 binding (#7052) * comfoair - first version Signed-off-by: Hans Böhm <h.boehm@gmx.at>

view details

Sven Strohschein

commit sha 8f2099059c1057ccf3e2554178b200650fbeb854

[innogysmarthome] Battery state of RST2 is now supported (#8375) Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>

view details

Fabian Wolter

commit sha f383bcb7bcb29b9983443d678e67ffa1e94f9d80

[lcn] Add support for commands from LCN to openHAB (#8284) * [lcn] Add support for commands from LCN to openHAB * Add options tag for sendKeys Channel * Add ID to enum and change field name Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

view details

Aitor Iturrioz

commit sha 40e0079285530b2975eec76db46965e75bb53520

[mqtt.homeassistant] Create trigger channels for stateless sensors (#7656) Closes: #6878 Signed-off-by: Aitor Iturrioz <riturrioz@gmail.com>

view details

Gaël L'hopital

commit sha 9a9438ff03da8bf99ca368cb6d2f885ccabf83aa

[astro] Refactoring eclipse handling by moon and sun (#8230) * Adressing issue #8042 and refactoring eclipse handling by moon and sun Signed-off-by: clinique <gael@lhopital.org>

view details

Marcel

commit sha 219721ba597a787fbeb8761783d9e9ac9f8315e1

[Miio] Miio vacuum model extensions (#8339) * [miio] Support Vacuum specific options addressing #6628 closes #6630 * Create dynamic channels based on detected capabilities * Improve status updates in case of missing values * Implemented capabilities: - water_box_status - water_box_carriage_status * [miio] add additional dynamic channels * Waterbox mode * lockenabled * Mop forbidden Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

view details

Marcel

commit sha 2596ad0e14d267bcbe54e39b7f7157c9d96cb90f

[miio] Start watchservice message with path (#8380) Provide a message with path to facilitate users to find the right path to store the json db files (avoiding many questions on the community) Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

view details

Marcel

commit sha 913935851eb4c5b6863c716fb404657a81cbc70d

[miio] Add support for viomi.vacuum.v8 (#8381) Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

view details

Gaël L'hopital

commit sha 2aaf664adc85cf35991e40d5bcb4a346c9ab5af1

[airquality] Refactoring and adding AQI Color Channel(#8378) * [Airquality] Binding update Added non null annotations References passed by constructor Removed org.apache.... dependencies Code enhancement French localization * Adding AQI Color channel Signed-off-by: clinique <gael@lhopital.org>

view details

Sven Strohschein

commit sha aa32b695e78c1948836db2c59baf3d83091369ea

[innogysmarthome] Reconnect fixes (#8182) (#8353) * startClient can now also get rescheduled when the method crashes (before it wasn't rescheduled, because startClient is called by a scheduler which is everytime still running, so the detection was broken) * The re-init job isn't scheduled for more than 1 time anymore, because when an error occurs it is scheduled automatically again (so it is useless and disturbing the it is re-scheduled automatically with a fixed rate). * Tests for InnogyBridgeHandler added * Bug-Fix: When an Exception occurred which was handled by handleClientException(...), the scheduler was canceled again, because the code ran normally again after the Exception handling which reaches cancelReinitJob()... That caused that the scheduler wasn't executed in this case... * Warning message improved Closes #8182 Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>

view details

Christoph Weitkamp

commit sha cfd2ae553b61a309498a5c1b1c28fef85a253add

[avmfritz] Added ThingActions to handle Boost and Window-Open modes for heating devices / groups (#8222) * Added ThingActions to handle Boost and Window-Open modes Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

view details

mlobstein

commit sha ee31df3871a11502323e9c2ed5291e9eb1b89058

[nuvo] Nuvo Whole House Audio Binding - initial contribution (#7651) Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

view details

Sami Salonen

commit sha 28203c6b240db6d716795fa1476b4014991e30de

[modbus] Some logging adjustments for data thing (#8368) Closes #6113 Also adjusted some error level logging lower since the thing status will be updated in any case, no need to repeat it in the logs. Signed-off-by: Sami Salonen <ssalonen@gmail.com>

view details

Sami Salonen

commit sha 92abb0f31b315cc5daa498f7076e758ce9973507

[modbus] Modbus write types explanation (#8367) More tests for number->registers conversion. In modbus binding, one can write values within the range of unsigned / signed intX with writeValueType=intX. Closes #4148 Signed-off-by: Sami Salonen <ssalonen@gmail.com>

view details

mcarbs

commit sha 8f1a1155c3cefe6b37f01bab9bc95d8ad5b31cbe

[pentair] Some improvements to the pentair documentation. (#7535) * Fixed syntax error in the example items, added USB Serial example and expanded the sitemap to be a complete example. Signed-off-by: Mark Carbonaro <mark.carbonaro@gmail.com>

view details

mlobstein

commit sha d574e37c6ab8ab14bfe6371ec7afa0a74e24b24d

[monopriceaudio] Monoprice Whole House Amplifier Binding - initial contribution (#7371) Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

view details

Hilbrand Bouwkamp

commit sha f820fce049cfaec5e9eb50053c01f18cae639c4d

[modbus] Fix indentation in thing-data.xml breaking the build (#8386) Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>

view details

Hilbrand Bouwkamp

commit sha 9fecb453d611c7dbacf6d5e34034ec6f56789d6b

Use constructor injection for HttpClientFactory (#8385) Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>

view details

push time in a month

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha e8189cb327fbf3ad76894ad454a0f07c0fc6e7c1

[publictransportswitzerland] Remove explicit channel creation Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in a month

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha b06e74c03ace17c8e088098cf7f422aedcbe7b9a

[publictransportswitzerland] Remove explicit channel creation Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in a month

startedherbstluftwm/herbstluftwm

started time in a month

startedqutebrowser/qutebrowser

started time in a month

Pull request review commentopenhab/openhab-addons

[publictransportswitzerland] Public Transport Switzerland Initial contribution

 public void initialize() {             updateStatus(ThingStatus.UNKNOWN);             startChannelUpdate();         }++        if (getThing().getChannelsOfGroup(stationboardChannelGroupUID.getId()).isEmpty()) {+            Channel tsvChannel = ChannelBuilder.create(tsvChannelUID, "String").build();+            updateThing(editThing().withChannel(tsvChannel).build());

Thank you so much

jeremystucki

comment created time in a month

PullRequestReviewEvent

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 1780e41c5e236a67b47410827998d68b7c39ec64

[publictransportswitzerland] Update thing description Co-authored-by: Fabian Wolter <github@fabian-wolter.de> Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha 2175c9c75da3d79539d3f0461f48a872d161eca8

[publictransportswitzerland] Update thing description Co-authored-by: Fabian Wolter <github@fabian-wolter.de> Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in a month

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha a7c69132fcd57e539989c2f859eb1e69195496e0

[publictransportswitzerland] Update thing description Co-authored-by: Fabian Wolter <github@fabian-wolter.de>

view details

push time in a month

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 0d7807f2e1169d08bc03e1e26dfd95164e45daab

[publictransportswitzerland] Update thing description Co-authored-by: Fabian Wolter <github@fabian-wolter.de>

view details

push time in a month

startedost-fh/Latex-Beamer-Theme

started time in a month

Pull request review commentopenhab/openhab-addons

[publictransportswitzerland] Public Transport Switzerland Initial contribution

 public void initialize() {             updateStatus(ThingStatus.UNKNOWN);             startChannelUpdate();         }++        if (getThing().getChannelsOfGroup(stationboardChannelGroupUID.getId()).isEmpty()) {+            Channel tsvChannel = ChannelBuilder.create(tsvChannelUID, "String").build();+            updateThing(editThing().withChannel(tsvChannel).build());

Sorry I did not have the time to work on this. I also wasn't aware of the OH3 release and that there is a merge window (I still wasn't able to figure out when exactly).

I would be very grateful if someone could help me out here.

jeremystucki

comment created time in a month

PullRequestReviewEvent

startedstudentenportal/web

started time in a month

startedsquare/radiography

started time in 2 months

startedDigitecGalaxus/Galaxus.Functional

started time in 2 months

Pull request review commentopenhab/openhab-addons

[publictransportswitzerland] Public Transport Switzerland Initial contribution

 public void initialize() {             updateStatus(ThingStatus.UNKNOWN);             startChannelUpdate();         }++        if (getThing().getChannelsOfGroup(stationboardChannelGroupUID.getId()).isEmpty()) {+            Channel tsvChannel = ChannelBuilder.create(tsvChannelUID, "String").build();+            updateThing(editThing().withChannel(tsvChannel).build());

I was not aware that I could define channel groups in the xml. I'll look into it.

jeremystucki

comment created time in 2 months

PullRequestReviewEvent

startedeth-sri/silq

started time in 2 months

startedrustwasm/gloo

started time in 2 months

push eventjeremystucki/openhab-addons

lolodomo

commit sha d25cb4be062919406fff4dee42bf06bf0ccd03f0

[powermax] Thread naming (#8236) Related to #8216 Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

Johannes Rumpf

commit sha f522b860c1748047295e8775ae004b53cc6bcdd3

[mqtt.generic] Updated Examples of a classic Tasmota-Device incl. undocumented Availability-Topic-Usage (#8244) * Update xtend_examples.md Added Availabilty-Topic Example as it is not covered in the Documentation yet; As suggested in Community-Forum https://community.openhab.org/t/mqtt-lwt-things-definition-availability-topic/103065/11

view details

Kai Kreuzer

commit sha 5fc5428756b9fe6f34d32468742f306e281580e8

[avmfritz] Added call monitor support (#8220) * added call monitor support * applied thread naming convention Signed-off-by: Kai Kreuzer <kai@openhab.org>

view details

Christoph Weitkamp

commit sha df983d1e1f01916d74bfa21a3a769b7adb98a115

[weathercompany] Removed 'apiKey' on thing 'weather-forecast' (#8269) Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

view details

Christoph Weitkamp

commit sha eef067f7ab97891f43f7303b093f821cd9f63b7f

[astro] Added missing German translations for config params (#8270) Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

view details

Kai Kreuzer

commit sha cbbdce6287173975c5780450ef174b7f85a8a979

ignore javax.activation as it is not required (#8272) Signed-off-by: Kai Kreuzer <kai@openhab.org>

view details

Chris Johnson

commit sha 5a493ee10174462edc1a16a506d6e0d32fea1833

[somfymylink] fix: move feature.xml to correct location (#8267) Signed-off-by: Chris Johnson <chrisfjohnson@live.com>

view details

Andrew Schofield

commit sha 6e32b2f1071311257fb84183c541c101b3317373

[draytonwiser] Drayton Wiser Binding initial contribution (#3168) Also-by: Hilbrand Bouwkamp <hilbrand@h72.nl> Signed-off-by: Andrew Schofield <the.uncle.fungus@gmail.com>

view details

andrexp

commit sha c8adc2b83262d6f1c63fb57eea6da13cf8844618

[lcn] Implement PCK messages for LCN-GFPS fingerprint sensors (#8273) Signed-off-by: Andre Jendrysseck <ajendry1@gmail.com>

view details

Martin Herbst

commit sha e03d0a1d7184c2bff581ede315b7488796f7dac1

[homematic] Better support for rollershutters + several smaller fixes (#8242) * Set bridge state to offline for duty cycle = -1 * Use correct type Contact for state channel of tilt sensor * Support type Int64 for messages from Homegear * Correct support of UP/DOWN for rollershutter devices - Important: UP command must send 1.0 to the device instead of the maximum value returned by Homematic which is 1.01 and does not work. * Correct max data point value of certain HmIP devices - Some data points of HmIP are returning 1.01d as max value instead of the correct value of 1.0. * HM channel "Blind Transmitter" also indicates a rollershutter * Reduced log level for certain datapoints to avoid flooding the logs - HmIP devices introduced new channel configuration datapoints that can't currently be detected automatically, but the CCU sometimes sends events and the logs were flooded with warnings. * CuxD interface apparently does not support the rssiInfo method * equals method call not necessary because of enum usage * HM method does not return any data if HmIP only is used Fixes #6360 Fixes #6145 Fixes #5042 Fixes #5674 Fixes #8081 Fixes #6688 Fixes #5048 Fixes #6743 Fixes #5062 Signed-off-by: Martin Herbst <develop@mherbst.de>

view details

Patrick Fink

commit sha 07b3f85503bb33fb561e0ee9abe8f030b304f1a4

Fix GitHub and openHAB spelling (#8281) Signed-off-by: Patrick Fink <mail@pfink.de>

view details

kgifford

commit sha ae98be036a5f831150a9b8c26682621ea8f7b326

Update README.md (#8268) Should be American spelling "Favorites"

view details

Patrick Fink

commit sha 4d9f31ab58959734c0ac29e040978dd8b906163e

Add documentation issue template (#8280) Signed-off-by: Patrick Fink <mail@pfink.de>

view details

Mark Herwege

commit sha 88d9f2a44023bd6e54be741cdd72f3fdf108fe5f

[upnpcontrol] UPnP control binding initial contribution (#7941) Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

view details

Fabian Wolter

commit sha a055d309656b36876f5b0a33f19fcf580a2a5d0a

[lcn] Fix NullPointerException when updating the binding (#8285) Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

view details

Fabian Wolter

commit sha 1bf6976e6a463bdcf99313fda1a5d9d1fb476f8b

[lcn] Doc: Remove non-openHAB related information, minor improvements (#8293) Signed-off-by: Fabian Wolter <github@fabian-wolter.de>

view details

mlobstein

commit sha cef030de2f4223f8d3478ddfa5271816e1886a2b

[oppo] documentation fixes (#8295) Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>

view details

Marcel

commit sha 986414d3961688407edeef01f53d4cc4eb414074

[miio] fix timestamp for safefiles (#8282) Fix missing minutes Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>

view details

Mark Herwege

commit sha 6cdf7194a81cc78b0e1833ae31036361f3a0620e

[nikohomecontrol] fix Digital Black Thermostat NPE (#8275) * Fix thermostat NPE. Signed-off-by: Mark Herwege <mark.herwege@telenet.be> * added some null annotations. Signed-off-by: Mark Herwege <mark.herwege@telenet.be> * Replaced some channel types by system equivalent. Signed-off-by: Mark Herwege <mark.herwege@telenet.be> * Handle device change. Signed-off-by: Mark Herwege <mark.herwege@telenet.be>

view details

Bob A

commit sha 31731b8dc7c98aa83f5bbe1ce1928938ed2780bb

[lutron] Dimmer enhancements (#8241) Signed-off-by: Bob Adair <bob.github@att.net>

view details

push time in 2 months

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 57e3e508c9c2cdbbe64d2fb8f9b0b132129dc77a

[publictransportswitzerland] Move tsv into group Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in 2 months

startedexentriquesolutions/nip.io

started time in 2 months

starteddimforge/rapier

started time in 2 months

startedJakeWharton/dependency-tree-diff

started time in 2 months

startedClaudeMetz/Alt-F4

started time in 2 months

startedromandanylyk/PageIndicatorView

started time in 2 months

push eventswissdevch/kafi-kaesseli

Jeremy Stucki

commit sha 01d464e0d65f24bf7c573bf00fd30e2ce2d751ab

Fix typo Thx @bash

view details

push time in 2 months

push eventswissdevch/kafi-kaesseli

bensamjaeger

commit sha f069e35dee6690d8f42eaab4bba9a152c7f7d5d6

new products

view details

Jeremy Stucki

commit sha 76263f0b7989ca773170a4429513fc526c36c856

Merge pull request #14 from bensamjaeger/patch-1 new products

view details

push time in 2 months

PR merged swissdevch/kafi-kaesseli

new products
+25 -0

0 comment

1 changed file

bensamjaeger

pr closed time in 2 months

Pull request review commentswissdevch/kafi-kaesseli

new products

 identifier = "noir" name = "Noir Special Riegel" price = 80 +[[product]]+identifier = "gipfel"+name = "Nuss-Nougat-Croisant"+price = 30

Please test this first

bensamjaeger

comment created time in 2 months

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 539fb1816bf193f9581846d454b6c78756cff61a

[feed] Update Javadoc Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha 31795ed26b7ed1618b4e0b7113315d17a8b1fce5

[feed] Pass ChannelUID directly Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in 2 months

pull request commentopenhab/openhab-addons

[feed] Allow for any number of feed entries

Thanks for you contribution. I have a specific design comment. Instead of using the specific data types as group name I think it makes more sense to use the index as group entry, like entry with the index appended. Something like entry1 for the first entry, and entry2, and so on. This group contains 3 channels: title, description and date. You can even specify the group-type in xml and create a channelgroup in code refering to this group type id. That way entries are logical grouped and not by title. A UI with the current implementation would group all titles and than all descriptions and than all dates. wdyt?

It would indeed make more sense in the UI. However implementing it is more difficult as I cannot seem to find an easy way to get all the groups. I would have to loop through all channels and find them. Or do you see another way?

jeremystucki

comment created time in 2 months

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha e938f61577d562944a42b7f03a1ef5e003c8504e

[publictransportswitzerland] Work on compiler warnings Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha d838c06285c72c570ecec16b7bbecdca48ccb716

[publictransportswitzerland] Add more detailed introduction Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in 2 months

startedpstadler/non-terminating-bash-processes

started time in 2 months

startedbevyengine/bevy

started time in 2 months

delete branch swissdevch/kafi-kaesseli

delete branch : feature/noir_special

delete time in 2 months

push eventswissdevch/kafi-kaesseli

Jeremy Stucki

commit sha d469b4a32bc72af541b332cedfff9fbe7d4739f4

Update products

view details

Jeremy Stucki

commit sha 99e272a416f071304198b979290aa790ef7d3e63

Merge pull request #13 from swissdevch/feature/noir_special Update products

view details

push time in 2 months

PR opened swissdevch/kafi-kaesseli

Update products
+4 -44

0 comment

1 changed file

pr created time in 2 months

create barnchswissdevch/kafi-kaesseli

branch : feature/noir_special

created branch time in 2 months

created tagswissdevch/android-pickerview

tag1.2.1

created time in 2 months

release swissdevch/android-pickerview

1.2.1

released time in 2 months

push eventswissdevch/android-pickerview

Jeremy Stucki

commit sha 537c89ed83f1e2d8d728f6cc3a8d1b3483060d35

Only use CenterSmoothScroller once

view details

push time in 2 months

push eventswissdevch/android-pickerview

Jeremy Stucki

commit sha d9a11698e1d617152d6131e23ef03088fee48107

Re-order examples

view details

push time in 2 months

push eventswissdevch/android-pickerview

Jeremy Stucki

commit sha ff99782c1a82d75bac87c5a7f58885569c8e1de3

Remove example tests

view details

Jeremy Stucki

commit sha 81e99d8044eb76867f8439d923ab4e2c9dbd4d45

Add example screenshot

view details

push time in 2 months

created tagswissdevch/android-pickerview

tag1.2.0

created time in 2 months

release swissdevch/android-pickerview

1.2.0

released time in 2 months

push eventswissdevch/android-pickerview

Jeremy Stucki

commit sha 2a62ea631da4cb9953ce486ad58354b0e96d5b77

Add support for images

view details

push time in 2 months

startedswissdevch/android-pickerview

started time in 2 months

startedvysheng/tg

started time in 3 months

startedbriansmith/ring

started time in 3 months

push eventjeremystucki/pixel-perfect

Jeremy Stucki

commit sha 06a634a37a6e4f3de83bdbeb65d36b826cee786a

Create CNAME

view details

push time in 3 months

push eventjeremystucki/openhab-addons

toweosp

commit sha 3c5fb4292c9a24e35da2ba55dde2c3ea0b824283

[lcn] Naming corrected (#8079) Signed-off-by: toweosp <toweosp@gmail.com>

view details

Kai Neuhaus

commit sha e4b2e1c88da65664b2d4110c06caae532bccefdb

[mqtt] Add warning for co-installation with mqtt1 (#8048) Signed-off-by: Kai Neuhaus <github@kaineuhaus.com>

view details

Bob A

commit sha d42ac14886f01361808615c9582f7320b393fb4e

[lutron] Add representation-property to thing definitions (#8084) - Add representation-property to thing definitions Signed-off-by: Bob Adair <bob.github@att.net>

view details

lolodomo

commit sha 8d585d8291bc53e62e34c26f23e185078c7da903

[hue] Avoid updating the inbox at each poll (#8066) - Avoid updating the inbox at each poll Fix #8065 Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

lolodomo

commit sha 20571d8f960c40142d90ed021aa72bea9c831745

[openweathermap] Do not update the discovery inbox while the location is unchanged (#8078) - Do not update the discovery inbox while the location is unchanged Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

lolodomo

commit sha dc3e8324f3ae5571c8ff0b68a8f0bafe316236e3

[hue] Reduce the number of warnings (#8015) * Review comments considered * Last minor change Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

robnielsen

commit sha 76cb28bc3493549c2fca6dd4b5392479b3f090a6

[insteon] added support for alternate heartbeat to motion sensor 2 (#8085) Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>

view details

J-N-K

commit sha 8fe3e73e1e4263cd869e20b62ce06adec3cbf703

[amazonechocontrol] add support for smarthome devices (#7969) Fix json parsing Improve error handling Remove unused Exception * Changes for new build system * Original * Bugfixed for new version and merge request * Added license information and author * Added contributor and readme information * Uncommented test comment for production use * Removed the waitForUpdate variable - not used * Added two configurations params for pulling interval and activating the smart bulbs * [amazonechocontrol] Formatting change Fix for Announcment Channel * Bugfixed discovery * Bugfixed wrong entries of the amazon echo devices as lights * [amazonechocontrol] Fix for Announcment Channel * Implemented recursive searching for devices, filtered smart plugs * Added smart plugs * Removed unused code, renamed new function and it's references * Added translation * Added documentation * Added capabilities to smart home device * Added dynamic channel adding Improve smart home discover and and add options for openHAB smarthome devices Handle on/off in percentage channel Smart Home Device Handling Update Smart Home Device Handling Move Polling Timer to Account Handler Remove polling from smart home handler Alexa guard support * [amazonechocontrol] Bugfix for login in Australia (#6034) Fix invalid device state Bugfix and docu for announcment Fix duplicate channel registration Fix updates Skill device detection Improve channel handling Color Name handling Single device update Color handling Handle Security Panel Controller Color handling Alexa.AcousticEventSensor added Code cleanup Alexa.TemperatureSensor Interface PowerLevelController, PercentageController Add readme Add To Do List Fix nullable warning in Announcment Fix nullable warning Prepare Release Notes SmartHome update groups Fix spelling Fix group initialization * Removed unused file * Removed unused file * Error fixes * codestyle * Fix issues, codestyle and refactoring * address review comment Co-authored-by: Lkn94 <message@lukasknoeller.de> Co-authored-by: Michael Geramb <mail@michael-geramb.at> Co-authored-by: Lukas Knöller <lukask@hobbyblogging.de> Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>

view details

J-N-K

commit sha 3523c75d7f677b8d1a0e4c0f355843c9c9b435f5

[deconz] Add dynamic state descriptions and fix property updates (#8055) * add dynamic state descriptions and fix property updates * fixes and improvements Signed-off-by: Jan N. Klug <jan.n.klug@rub.de>

view details

Markus Michels

commit sha 25671d4cf270e7f168bf055fda584c5ac8112d61

[gree] Initial contribution (#7504) * re-factoring WIP Signed-off-by: Markus Michels <markus7017@gmail.com>

view details

lolodomo

commit sha 86fab7d4b619b2802e3df3c8509baae3626d5a8a

[hue] Reduce log level in refresh jobs (#8088) Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

lolodomo

commit sha b315a5e037719bd43e178d5dbcea25ff299fd967

[innogysmarthome] Fix possible resource leak (#8080) Related to #8027 Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

Mark Hilbush

commit sha ba61eda76b8b6e558bfada87af9c5c230e931f92

[squeezebox] Implement like/unlike for remote streaming services (#7396) * Implement like/unlike for remote streaming services * Fix formatting * Address review feedback * Combine like/unlike to single rate channel * Address review comments Signed-off-by: Mark Hilbush <mark@hilbush.com>

view details

eugen

commit sha 5785cad4f861a383129283205c3f8467e210f322

[homekit] some cleanups (#8041) * some cleanups Signed-off-by: Eugen Freiter <freiter@gmx.de>

view details

Jan Gustafsson

commit sha b5c5e3945dcf3e566ec2e0cbfe8c8ee543b64b9d

[verisure] Verisure Binding initial contribution (#4789) Also-by: Jarle Hjortland <jarlebh@gmail.com> (github: jarlebh) Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com> (github: jannegpriv)

view details

Christoph Weitkamp

commit sha 40018b8b99f50d7a2c859fe7736077941397031a

Remove deprecated method in 'ConfigOptionProvider' - preparations (#8093) Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>

view details

lolodomo

commit sha 51dacbd1c60a59ffcc1101d500da75436761fd90

[netatmo] Null annotations Part 3 of 3 (#8057) * [netatmo] Null annotations Part 3 of 3 Fix #7913 * Video status only set when there is a video in the event * Add a setting to enable/disable the background discovery Fix #8083 * Cache Optional result in local variable Signed-off-by: Laurent Garnier <lg.hc@free.fr>

view details

Sami Salonen

commit sha 350ee9508ee2cb95b43986369bda2138453666bf

[modbus] Modbus transport API simplification (#7994) * [modbus] connection closing behaviour finetuned The binding closes TCP/serial connections connections as per user configuration. It is either - every time, immediately after a transaction (reconnectAfterMillis=0) - *after* a read/write transaction, if the connection has been open "too long" (configurable with reconnectAfterMillis) We have an obvious downside to this simple logic -- the connection can remain open "indefinitely" if there are no transactions occurring. With Modbus we are quite often dealing with PLCs and other embedded systems with limited resources, and "reserving" the connection is not always something we want. Previously (2.5.x branch) connections were also closed when - a regular poll task was unregistered (i.e. we stop reading regularly from a modbus server ("slave"). Since most users have regular polling in place, so this ensured that connections do get closed. In this commit, the behaviour is adjusted such that connections are closed when last communication interface pointing to the server/serial port (i.e. "endpoint") is close()'d. With modbus binding this basically means when the tcp or serial thing is removed / disabled, the connections is closed/freed, but only if it is the last thing pointing to that server or serial port. Since modbus.sunspec binding reuses modbus serial & tcp endpoint things, the same note applies for modbus.sunspec binding. This is change in functional behaviour but in a way is logical. We can further introduce to have "delayed"/"deferred"/"debounce" connection closing connections as per the setting reconnectAfterMillis even in situations where communication interface is still open. * [modbus] Check and disconnect idle connections without transactions * [modbus] mvn spotless:apply * [modbubs] Fixed log message * [modbus] Race condition fix The CountDownLatch was used as a guard (latch.await) in many tests to wait for callbacks to be called before proceeding with assertions. Since the latch was countDown() beginning of the callback, we introduced a race condition with the subsequent assertions and updating the other counters used in the subsequent assertions. This commit updates the CountDownLatch as the last step of the callback, resolving the race condition. * [modbus] small test fix * [modbus] readcallback changed to nonnull * [modbus] Refactored ModbusCommunicationInterface to have seperate callback for result and failure However I had to dig deep to reach all the affected parts. Also there is a new callback, and a new "result" type to communicate the failures. * [modbus] SmokeTest refactored to new api * [modbus] Modbus bundle refactored to use the new api * [modbus][sunspec] refactored sunspec bundle to use the new modbus API * [modbus] refactor modbus tests to use the new api * [modbus] Removed ModbusWriteCallback interface from ModbusDataThingHandler Also reset ModbusDataThingHandler testWriteHandling generic to it's original form * [modbus] ModbusDataThingHandler does not implement ModbusReadCallback anymore Instead it has a public onReadResult method. ModbusPollerThingHandler changed to work with ModbusDataThingHandler children. * [modbus] Fixed caching in ModbusPollerThingHandler * [modbus] read modbus data as Optionals * [modbus] toString for PollResult * [modbus] fixed confusing variable name * [modbus] Disallow null callbacks * [modbus] mvn spotless:apply * [modbus] Removing Nullable decorations * [modbus] submitOneTimeWrite simplification * [modbus] Less verbose logging * [modbus] submitOneTimePoll simplification * [modbus] Less verbose logging * [modbus] Many null warnings removed * [modbus] Fix: no need for a @NonNull annotation because it is default * [modbus] Removing unneeded Nullable, using final in immutables * [modbus] Explicit functional interface * [modbus] @Nullable and @NonNullByDefault aligned with coding conventions * [modbus] Collections.emptyMap instead of allocating new map every time. Signed-off-by: Sami Salonen <ssalonen@gmail.com> Co-authored-by: Nagy Attila Gábor <mrbig@sneaker.hu>

view details

Bob A

commit sha 09e4b41d109808ceb8967bdff45bc9d32fdc79ed

[lutron] Update field names to eliminate SCA warnings (#8089) Signed-off-by: Bob Adair <bob.github@att.net>

view details

Andreas Scherbaum

commit sha 30017d2ec4b86ad27851454f8a8cef33c3a97fd9

Add https for website (otherwise the link is not recognized) (#8103) Signed-off-by: Andreas Scherbaum <andreas@scherbaum.la>

view details

push time in 3 months

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 87aeda6fa20621dc00dfec88667f4a043c05794e

[publictransportswitzerland] Make style checks happy Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in 3 months

push eventjeremystucki/pixel-perfect

dependabot[bot]

commit sha 8feea57081c26eb376647762a9891d4a589d9bb5

Deploy to GitHub pages

view details

push time in 3 months

pull request commentjeremystucki/pixel-perfect

Bump elliptic from 6.5.2 to 6.5.3 in /wasm/public

@dependabot merge

dependabot[bot]

comment created time in 3 months

push eventjeremystucki/openhab-addons

Jeremy Stucki

commit sha 8d304c31098c31878feedcdaadd3feb6beb74a0a

[publictransportswitzerland] Avoid glob import Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha ac88499084c0dd5cc14e74a381e5d577f2fa5c09

[publictransportswitzerland] Make compiler happier Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha e91fd023c74151bf3a3655ab5b997f33e1e191d1

[publictransportswitzerland] Add error explanation Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha 9fc9a5fa8a67d1d84e75819cda3f035ad07594b1

[publictransportswitzerland] Skip check Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha 48a4054d98452b518908442b7e18140804b4ece1

[publictransportswitzerland] Print message instead of stacktrace Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha b40d381d7cd224389d14234785ddb3697e983d83

[publictransportswitzerland] Store date format as final field Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha ceb648aabc1531ac781a61d6d37b66561ccbaaa1

[publictransportswitzerland] Cache configuration Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha 8485a6d9d8eab483497a64baf3b67ff6446300f5

[publictransportswitzerland] Work on exception handling Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

Jeremy Stucki

commit sha d31f50e3e9fd7588d43939e70a22ce285edb5e05

[publictransportswitzerland] Update readme Signed-off-by: Jeremy Stucki <dev@jeremystucki.ch>

view details

push time in 3 months

Pull request review commentopenhab/openhab-addons

[feed] Allow for any number of feed entries

  */ public class FeedHandler extends BaseThingHandler { +    private final ChannelGroupUID titleChannelGroupUID = new ChannelGroupUID(getThing().getUID(), "Titles");+    private final ChannelGroupUID descriptionChannelGroupUID = new ChannelGroupUID(getThing().getUID(), "Descriptions");+    private final ChannelGroupUID dateChannelGroupUID = new ChannelGroupUID(getThing().getUID(), "Dates");+     private Logger logger = LoggerFactory.getLogger(FeedHandler.class); -    private String urlString;-    private BigDecimal refreshTime;     private ScheduledFuture<?> refreshTask;     private SyndFeed currentFeedState;     private long lastRefreshTime; +    private FeedHandlerConfiguration configuration;+     public FeedHandler(Thing thing) {         super(thing);         currentFeedState = null;     }      @Override     public void initialize() {-        checkConfiguration();+        configuration = getConfigAs(FeedHandlerConfiguration.class);+        createDynamicChannels(configuration.numberOfEntries);+         updateStatus(ThingStatus.UNKNOWN);         startAutomaticRefresh();     } -    /**-     * This method checks if the provided configuration is valid.-     * When invalid parameter is found, default value is assigned.-     */-    private void checkConfiguration() {-        logger.debug("Start reading Feed Thing configuration.");-        Configuration configuration = getConfig();--        // It is not necessary to check if the URL is valid, this will be done in fetchFeedData() method-        urlString = (String) configuration.get(URL);+    @Override+    public void handleConfigurationUpdate(@NotNull Map<String, Object> configurationParameters) {+        super.handleConfigurationUpdate(configurationParameters); -        try {-            refreshTime = (BigDecimal) configuration.get(REFRESH_TIME);-            if (refreshTime.intValue() <= 0) {-                throw new IllegalArgumentException("Refresh time must be positive number!");-            }-        } catch (Exception e) {-            logger.warn("Refresh time [{}] is not valid. Falling back to default value: {}. {}", refreshTime,-                    DEFAULT_REFRESH_TIME, e.getMessage());-            refreshTime = DEFAULT_REFRESH_TIME;-        }+        configuration = getConfigAs(FeedHandlerConfiguration.class);+        createDynamicChannels(configuration.numberOfEntries);     }      private void startAutomaticRefresh() {-        refreshTask = scheduler.scheduleWithFixedDelay(this::refreshFeedState, 0, refreshTime.intValue(),+        int refreshTime = configuration.refresh;++        refreshTask = scheduler.scheduleWithFixedDelay(this::refreshFeedState, 0, refreshTime,                 TimeUnit.MINUTES);-        logger.debug("Start automatic refresh at {} minutes", refreshTime.intValue());+        logger.debug("Start automatic refresh at {} minutes", refreshTime);     }      private void refreshFeedState() {-        SyndFeed feed = fetchFeedData(urlString);+        SyndFeed feed = fetchFeedData(configuration.URL);         boolean feedUpdated = updateFeedIfChanged(feed);          if (feedUpdated) {+            publishDynamicChannelsIfLinked();+             List<Channel> channels = getThing().getChannels();             for (Channel channel : channels) {                 publishChannelIfLinked(channel.getUID());             }         }     } +    private void publishDynamicChannelsIfLinked() {+        int numberOfEntries = configuration.numberOfEntries;++        if (currentFeedState == null) {+            // This will happen if the binding could not download data from the server+            logger.trace("Cannot update channels; no data has been downloaded from the server!");+            return;+        }++        List<SyndEntry> entries = currentFeedState.getEntries().stream().limit(numberOfEntries)+                .collect(Collectors.toList());++        setUnusedDynamicChannelsToUndef(entries.size());++        for (int i = 0; i < entries.size(); i++) {+            SyndEntry entry = entries.get(i);++            ChannelUID titleChannelUID = new ChannelUID(titleChannelGroupUID, String.valueOf(i));+            setChannelToState(titleChannelUID, getTitleState(entry));++            ChannelUID descriptionChannelUID = new ChannelUID(descriptionChannelGroupUID, String.valueOf(i));+            setChannelToState(descriptionChannelUID, getDescriptionState(entry));++            ChannelUID dateChannelUID = new ChannelUID(dateChannelGroupUID, String.valueOf(i));+            setChannelToState(dateChannelUID, getDateState(entry));+        }+    }++    private void setUnusedDynamicChannelsToUndef(int amountOfUsedChannels) {+        getThing().getChannelsOfGroup(titleChannelGroupUID.getId()).stream().skip(amountOfUsedChannels)+                .forEach(channel -> updateState(channel.getUID(), UnDefType.UNDEF));++        getThing().getChannelsOfGroup(descriptionChannelGroupUID.getId()).stream().skip(amountOfUsedChannels)+                .forEach(channel -> updateState(channel.getUID(), UnDefType.UNDEF));++        getThing().getChannelsOfGroup(dateChannelGroupUID.getId()).stream().skip(amountOfUsedChannels)+                .forEach(channel -> updateState(channel.getUID(), UnDefType.UNDEF));+    }++    private void createDynamicChannels(int numberOfChannels) {+        // All groups have the same number of channels, so it doesn't matter which one we pick+        int existingChannels = getThing().getChannelsOfGroup(titleChannelGroupUID.getId()).size();++        ThingBuilder thingBuilder = editThing();++        for (int i = existingChannels; i < numberOfChannels; i++) {+            Channel titleChannel = ChannelBuilder+                    .create(new ChannelUID(titleChannelGroupUID, String.valueOf(i)), "String")+                    .withLabel("Title " + (i + 1)).build();

I thought that it would make sense to use a zero-based index when interacting programmatically, but to use a 1-based index for the UI

jeremystucki

comment created time in 3 months

push eventjeremystucki/hms-mapkit-demo-java

Jeremy Stucki

commit sha f975f29ba6d395815435e0ee9f25c35122610d7d

Use tilt instead of latitude

view details

push time in 3 months

fork jeremystucki/hms-mapkit-demo-java

HMS Map Kit demo provides an example of intergrating HMS Map Android SDK. Personalizing how your map displays and interacts with your users tailors their experience to them

https://developer.huawei.com/consumer/en/hms/huawei-MapKit

fork in 3 months

Pull request review commentopenhab/openhab-addons

[publictransportswitzerland] Public Transport Switzerland Initial contribution

+/**+ * Copyright (c) 2010-2020 Contributors to the openHAB project+ *+ * See the NOTICE file(s) distributed with this work for additional+ * information.+ *+ * This program and the accompanying materials are made available under the+ * terms of the Eclipse Public License 2.0 which is available at+ * http://www.eclipse.org/legal/epl-2.0+ *+ * SPDX-License-Identifier: EPL-2.0+ */+package org.openhab.binding.publictransportswitzerland.internal.stationboard;++import com.google.gson.JsonArray;+import com.google.gson.JsonElement;+import com.google.gson.JsonObject;+import com.google.gson.JsonParser;+import org.eclipse.jdt.annotation.NonNullByDefault;+import org.eclipse.jdt.annotation.Nullable;+import org.eclipse.smarthome.core.cache.ExpiringCache;+import org.eclipse.smarthome.core.library.types.StringType;+import org.eclipse.smarthome.core.thing.*;+import org.eclipse.smarthome.core.thing.binding.BaseThingHandler;+import org.eclipse.smarthome.core.thing.binding.builder.ChannelBuilder;+import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder;+import org.eclipse.smarthome.core.types.Command;+import org.eclipse.smarthome.core.types.RefreshType;+import org.eclipse.smarthome.core.types.UnDefType;+import org.eclipse.smarthome.io.net.http.HttpUtil;+import org.slf4j.Logger;+import org.slf4j.LoggerFactory;++import java.net.URLEncoder;+import java.nio.charset.StandardCharsets;+import java.text.SimpleDateFormat;+import java.util.*;+import java.util.concurrent.ScheduledFuture;+import java.util.concurrent.TimeUnit;+import java.util.stream.Collectors;++import static org.openhab.binding.publictransportswitzerland.internal.PublicTransportSwitzerlandBindingConstants.*;++/**+ * The {@link PublicTransportSwitzerlandStationboardHandler} is responsible for handling commands, which are+ * sent to one of the channels.+ *+ * @author Jeremy Stucki - Initial contribution+ */+@NonNullByDefault+public class PublicTransportSwitzerlandStationboardHandler extends BaseThingHandler {++    // Limit the API response to the necessary fields+    private static final String FIELD_FILTERS = createFilterForFields(+            "stationboard/to",+            "stationboard/category",+            "stationboard/number",+            "stationboard/stop/departureTimestamp",+            "stationboard/stop/delay",+            "stationboard/stop/platform");++    private final ChannelGroupUID dynamicChannelGroupUID = new ChannelGroupUID(getThing().getUID(), "departures");++    private final Logger logger = LoggerFactory.getLogger(PublicTransportSwitzerlandStationboardHandler.class);++    private @Nullable ScheduledFuture<?> updateChannelsJob;+    private @Nullable ExpiringCache<@Nullable JsonElement> cache;++    public PublicTransportSwitzerlandStationboardHandler(Thing thing) {+        super(thing);+    }++    @Override+    public void handleCommand(ChannelUID channelUID, Command command) {+        if (command instanceof RefreshType) {+            updateChannels();+        }+    }++    @Override+    public void initialize() {+        PublicTransportSwitzerlandStationboardConfiguration config = getConfigAs(PublicTransportSwitzerlandStationboardConfiguration.class);++        // Together with the 10 second timeout, this should be less than a minute+        cache = new ExpiringCache<>(45_000, this::updateData);++        if (config.station == null || config.station.isEmpty()) {+            updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR);+        } else {+            updateStatus(ThingStatus.UNKNOWN);+            startChannelUpdate();+        }+    }++    @Override+    public void dispose() {+        stopChannelUpdate();+    }++    private void startChannelUpdate() {+        updateChannelsJob = scheduler.scheduleWithFixedDelay(this::updateChannels, 0, 60, TimeUnit.SECONDS);

Why does it matter that it could be null? It's an assignment.

jeremystucki

comment created time in 3 months

more