From b0ba65b933de5da1c8ff95ec5f2ab583b3678440 Mon Sep 17 00:00:00 2001 From: stephan Date: Sun, 17 Sep 2023 15:46:15 +0200 Subject: [PATCH] disable messaging --- README.md | 9 ++++----- .../stephan/chickenfarm/messenger/MessengerService.java | 7 +++++++ .../java/ch/stephan/chickenfarm/timer/ScaleObserver.java | 8 +++++--- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index fb13a4f..05a23e8 100644 --- a/README.md +++ b/README.md @@ -2,18 +2,17 @@ ## Summary -This code will run on a Raspberry PI in a chicken barn. There are scales under the laying boxes that detect weight changes and computes the event (like chicken in, chicken-out-left-egg etc). These events will be sent by Whatsapp. +This code will run on a Raspberry PI in a chicken barn. There are scales under the laying boxes that detect weight changes and computes the event (like chicken in, chicken-out-left-egg etc). These events will be sent by Messenger. ## TODO List -### Epic v1: Chicken scale recognizes weight change and sends message about state (which chicken, an egg) via Whatsapp +### Epic v1: Chicken scale recognizes weight change and sends message about state (which chicken, an egg) via Messenger -* Story: get current weight and calculate the "state" (chicken, egg) - -* Story: using Lombok to log * Story: write tests and mock for scale service (testing) * Story: Integration test with whole process (testing) +* Story: using Lombok to log +* Story: (done) get current weight and calculate the "state" (chicken, egg) * Story: (done) env values via application.yaml * Story: (done) integrate Threema and send messages * Story: (done) read data from scale and show by webservice (GET) diff --git a/src/main/java/ch/stephan/chickenfarm/messenger/MessengerService.java b/src/main/java/ch/stephan/chickenfarm/messenger/MessengerService.java index 58f2b2d..163224e 100644 --- a/src/main/java/ch/stephan/chickenfarm/messenger/MessengerService.java +++ b/src/main/java/ch/stephan/chickenfarm/messenger/MessengerService.java @@ -31,11 +31,18 @@ public class MessengerService { @Value("${messengerservice.secret}") private String secret; + @Value("${messengerservice.enabled:false}") + private boolean enabled; + public MessengerService(RestTemplateBuilder restTemplateBuilder) { this.restTemplate = restTemplateBuilder.build(); } public String sendNotification(String message) { + if (!enabled) { + return "Messaging was disabled, not message sent."; + } + try { HttpHeaders headers = new HttpHeaders(); headers.set(HttpHeaders.ACCEPT, MediaType.APPLICATION_FORM_URLENCODED_VALUE); diff --git a/src/main/java/ch/stephan/chickenfarm/timer/ScaleObserver.java b/src/main/java/ch/stephan/chickenfarm/timer/ScaleObserver.java index 881bfad..99f880d 100644 --- a/src/main/java/ch/stephan/chickenfarm/timer/ScaleObserver.java +++ b/src/main/java/ch/stephan/chickenfarm/timer/ScaleObserver.java @@ -23,7 +23,7 @@ public class ScaleObserver { private ScaleService scaleService; @Autowired - private MessengerService whatsappService; + private MessengerService messengerService; // @Scheduled(fixedRate = 10000) public void measureWeights() { @@ -34,13 +34,15 @@ public void measureWeights() { String message = MessageFormatter .format("Ein Huhn sitzt in der Legebox {} und ist {}g schwer.", uid, weight).getMessage(); log.info(message); - whatsappService.sendNotification(message); + String result = messengerService.sendNotification(message); + log.info("Message sent: {}", result); } else if (weight > 50) { // egg in the box String message = MessageFormatter.format("Huhn in der Legebox {} hat ein Ei von {}g gelegt.", uid, weight) .getMessage(); log.info(message); - whatsappService.sendNotification(message); + String result = messengerService.sendNotification(message); + log.info("Message sent: {}", result); } else { // nothing special log.info("Box {} with weight {}g at {}", uid, weight, dateFormat.format(new Date()));